public Task Delete(JwtCredentials credentials)
 {
     var request = new HttpRequest<dynamic>("/consumers/{consumerId}/jwt/{credentialId}", HttpMethods.Delete);
     request.AddQueryParameter("consumerId", _consumer.Id);
     request.AddQueryParameter("credentialId", credentials.Id);
     return ExecuteAsync(request);
 }
 public Task Patch(JwtCredentials credentials)
 {
     var request = new HttpRequest<KongCollection<JwtCredentials>>("/consumers/{consumerId}/jwt/{credentialId}", HttpMethods.Patch)
     {
         Data = credentials
     };
     request.AddQueryParameter("consumerId", _consumer.Id);
     request.AddQueryParameter("credentialId", credentials.Id);
     return ExecuteAsync(request);
 }
Esempio n. 3
0
        public void AddQueryParameterTest()
        {
            // Arrange
            var classUnderTest = new HttpRequest("quackfu", HttpMethod.Post);

            // Act
            classUnderTest.AddQueryParameter("Darkwing", "Duck");
            classUnderTest.AddQueryParameter("Number", 7);

            // Assert
            classUnderTest.GetUrl(new UrlBuilder(), new Uri("https://eshava.de/")).Should().Be("https://eshava.de/quackfu/?Darkwing=Duck&Number=7");
        }
 public async Task<IKongCollection<JwtCredentials>> List()
 {
     var request = new HttpRequest<KongCollection<JwtCredentials>>("/consumers/{consumerId}/jwt", HttpMethods.Get);
     request.AddQueryParameter("consumerId", _consumer.Id);
     var response = await ExecuteAsync(request);
     return response;
 }
 private Task<JwtCredentials> CreateCredentials(object data)
 {
     var request = new HttpRequest<JwtCredentials>("/consumers/{consumerId}/jwt", HttpMethods.Post)
     {
         Data = data
     };
     request.AddQueryParameter("consumerId", _consumer.Id);
     return ExecuteAsync(request);
 }
 public Task CreateCredentials(string username, string password)
 {
     var request = new HttpRequest<dynamic>("/consumers/{consumerId}/basic-auth", HttpMethods.Post)
     {
         Data = new
         {
             username,
             password
         }
     };
     request.AddQueryParameter("consumerId", _consumer.Id);
     return ExecuteAsync(request);
 }
 public Task CreateCredentials(string key)
 {
     var request = new HttpRequest<dynamic>("/consumers/{consumerId}/key-auth", HttpMethods.Post)
     {
         Data = new
         {
             key,
             consumer_id = _consumer.Id
         }
     };
     request.AddQueryParameter("consumerId", _consumer.Id);
     return ExecuteAsync(request);
 }
Esempio n. 8
0
        public void GetUrlTest()
        {
            // Arrange
            var classUnderTest = new HttpRequest("quackfu/{Number}", HttpMethod.Post);

            classUnderTest.AddQueryParameter("Darkwing", "Duck");
            classUnderTest.AddSegmentParameter("Number", 7);

            // Act
            var result = classUnderTest.GetUrl(new UrlBuilder(), new Uri("https://eshava.de/"));

            // Assert
            result.Should().Be("https://eshava.de/quackfu/7/?Darkwing=Duck");
        }
Esempio n. 9
0
        private HttpRequest ReadRequest(Stream inputStream)
        {
            HttpRequest req = new HttpRequest();
            //Read Request Line
            string request = ReadLine(inputStream);

            string[] tokens = request.Split(' ');
            if (tokens.Length != 3)
            {
                throw new Exception("Invalid http request");
            }

            req.Method = tokens[0].ToUpper();

            if (tokens[1].IndexOf('?') == -1)
            {
                req.Url = new Uri(tokens[1], UriKind.Relative);
            }
            else
            {
                req.Url = new Uri(new string(tokens[1].TakeWhile(ch => ch != '?').ToArray()), UriKind.Relative);
            }

            try
            {
                String query = new Uri(new Uri("http://loaclhost/"), tokens[1]).Query.Substring(1);
                if (query != "")
                {
                    var queryData = WebUtility.UrlDecode(query).Split('&').Where(str => str != "");
                    foreach (var pair in queryData)
                    {
                        string[] parts = pair.Split('=');
                        req.AddQueryParameter(parts[0], parts[1]);
                    }
                }
            }
            catch { }

            //Read Headers
            string line;

            while ((line = ReadLine(inputStream)) != null)
            {
                if (line.Equals(""))
                {
                    break;
                }

                int separator = line.IndexOf(':');
                if (separator == -1)
                {
                    throw new Exception("invalid http header line: " + line);
                }

                string name  = line.Substring(0, separator);
                int    pos   = separator + 1;
                string value = new string(line.Substring(pos).SkipWhile(ch => char.IsWhiteSpace(ch)).ToArray());

                if (name == "Cookie")
                {
                    ProcessCookies(req, value);
                }

                req.AddHeader(name, value);
            }

            if (req.GetHeader("Content-Length") != null)
            {
                int    totalBytes = Convert.ToInt32(req.GetHeader("Content-Length"));
                int    bytesLeft  = totalBytes;
                byte[] bytes      = new byte[totalBytes];

                while (bytesLeft > 0)
                {
                    byte[] buffer = new byte[bytesLeft > 1024 ? 1024 : bytesLeft];

                    int n = inputStream.Read(buffer, 0, buffer.Length);
                    buffer.CopyTo(bytes, totalBytes - bytesLeft);

                    bytesLeft -= n;
                }

                req.Content = Encoding.ASCII.GetString(bytes);

                ProcessParameters(req);
            }


            return(req);
        }