public static void AddHeader(this IRequest request, string key, DateTimeOffset?date, DateTimeFormat format) { if (date == null) { return; } switch (format) { case DateTimeFormat.Iso8601DateTime: request.AddHeader(key, date.Value.ToString(DateTimeFormats.Iso8601DateTime, DateTimeFormatInfo.InvariantInfo)); break; case DateTimeFormat.Iso8601DateTimeExt: request.AddHeader(key, date.Value.ToString(DateTimeFormats.Iso8601DateTimeExtended, DateTimeFormatInfo.InvariantInfo)); break; case DateTimeFormat.Rfc1123: request.AddHeader(key, date.Value.ToString(DateTimeFormats.Rfc1123, DateTimeFormatInfo.InvariantInfo)); break; default: throw new ArgumentOutOfRangeException(nameof(format), format, null); } }
public new void Sign <T>(IRequest <T> request, ICredentials credentials) { var sanitizedCredentials = this.SanitizeCredentials(credentials); var signerParams = new SignerRequestParams <T>(request, this.regionName, this.serviceName, "SDK-HMAC-SHA256"); this.AddHostHeader(request); request.AddHeader("X-Sdk-Date", signerParams.GetFormattedSigningDateTime()); String contentSha256 = this.CalculateContentHash(request); /* Not support for now * String contentSha256 = this.calculateContentHash(request); * if ("required".equals(request.getHeaders().get("x-sdk-content-sha256"))) * { * request.addHeader("x-sdk-content-sha256", contentSha256); * } * * String canonicalRequest = this.createCanonicalRequest(request, contentSha256); * string stringToSign = this.CreateStringToSign(canonicalRequest, signerParams); * byte[] signingKey = this.deriveSigningKey(sanitizedCredentials, signerParams); * byte[] signature = this.computeSignature(stringToSign, signingKey, signerParams); */ //byte[] signature = this.computeSignature(stringToSign, signingKey, signerParams); request.AddHeader("Authorization", this.BuildAuthorizationHeader(request, null, sanitizedCredentials, signerParams)); }
public Stream Wrap(Stream input, IRequest request) { Validator.RequireNotNull(input); Validator.RequireNotNull(request); //See https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html request.AddHeader(HttpHeaders.ContentEncoding, "aws-chunked"); request.AddHeader(AmzHeaders.XAmzDecodedContentLength, input.Length); request.AddHeader(AmzHeaders.XAmzContentSha256, "STREAMING-AWS4-HMAC-SHA256-PAYLOAD"); byte[] seedSignature = _signatureBuilder.CreateSignature(request); return(new ChunkedStream(_config, _chunkedSigBuilder, request, seedSignature, input)); }
public void Authenticate(IRequest request) { if (!request.Headers.Keys.Contains("Authorization")) { request.AddHeader("Authorization", string.Format("Basic {0}", authentication)); } }
public HttpHeaderParserTests() { _parser = new HttpHeaderParser(); _parser.RequestLineParsed += (sender, args) => { _request = new HttpRequest(args.Verb, args.Url, args.HttpVersion); }; _parser.HeaderParsed += (sender, args) => { _request.AddHeader(args.Name, args.Value); }; _parser.Completed += (sender, args) => { _completed = true; }; }
public static void AddHeader(this IRequest request, string key, IHttpHeaderBuilder builder) { if (builder == null) { return; } request.AddHeader(key, builder.Build()); }
public static void AddHeader(this IRequest request, string key, long?value) { if (value == null) { return; } request.AddHeader(key, ValueHelper.LongToString(value.Value)); }
public static void AddHeader <T>(this IRequest request, string key, T value) where T : struct, Enum { if (value.Equals(default(T))) { return; } request.AddHeader(key, ValueHelper.EnumToString(value)); }
public static void AddHeader(this IRequest request, string key, bool?value, string falseLabel = "OFF", string trueLabel = "ON") { if (value == null) { return; } request.AddHeader(key, value.Value ? trueLabel : falseLabel); }
private void SetHeaders(IRequest request) { if (_headersFunc == null) { return; } foreach (var header in _headersFunc()) { request.AddHeader(header.Key, header.Value); } }
public static void AddHeader(this IRequest request, string key, byte[] data, BinaryEncoding encoding) { if (data == null) { return; } switch (encoding) { case BinaryEncoding.Base64: request.AddHeader(key, Convert.ToBase64String(data)); break; case BinaryEncoding.Hex: request.AddHeader(key, data.HexEncode()); break; default: throw new ArgumentOutOfRangeException(nameof(encoding), encoding, null); } }
protected void AddHostHeader <T>(IRequest <T> request) { var endpoint = request.GetEndpoint(); var hostHeaderBuilder = new StringBuilder(endpoint.Host); if (HttpUtils.IsUsingNonDefaultPort(endpoint)) { hostHeaderBuilder.Append(":").Append(endpoint.Port); } request.AddHeader("Host", hostHeaderBuilder.ToString()); }
private void SetRequest(IRequest request) { Authenticator?.Apply(this); request.Timeout = Timeout; if (AllowAutoRedirect) { request.AddObserver(new AutoRedictObserver()); } request.AddHeader("content-type", ContentType); foreach (var header in _initHeaders) { request.AddHeader(header.Name, header.Value); } request.AddObserver(this); foreach (var observer in _observer) { request.AddObserver(observer); } foreach (var cookie in Cookies) { request.Cookies.AddOrUpdate(cookie.Name, cookie.Value); } }