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); }
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); }
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"); }
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); }