本文整理汇总了C#中IWebResponseData.GetHeaderValue方法的典型用法代码示例。如果您正苦于以下问题:C# IWebResponseData.GetHeaderValue方法的具体用法?C# IWebResponseData.GetHeaderValue怎么用?C# IWebResponseData.GetHeaderValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IWebResponseData
的用法示例。
在下文中一共展示了IWebResponseData.GetHeaderValue方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateContext
public override UnmarshallerContext CreateContext(IWebResponseData response, bool readEntireResponse, Stream stream, RequestMetrics metrics)
{
if (response.IsHeaderPresent(HeaderKeys.XAmzId2Header))
metrics.AddProperty(Metric.AmzId2, response.GetHeaderValue(HeaderKeys.XAmzId2Header));
if (response.IsHeaderPresent(HeaderKeys.XAmzCloudFrontIdHeader))
metrics.AddProperty(Metric.AmzCfId, response.GetHeaderValue(HeaderKeys.XAmzCloudFrontIdHeader));
return base.CreateContext(response, readEntireResponse, stream, metrics);
}
示例2: PostObjectResponse
public PostObjectResponse(IWebResponseData response)
{
HttpStatusCode = response.StatusCode;
ContentLength = response.ContentLength;
if (response.IsHeaderPresent(HeaderKeys.XAmzRequestIdHeader))
RequestId = response.GetHeaderValue(HeaderKeys.XAmzRequestIdHeader);
if (response.IsHeaderPresent(HeaderKeys.XAmzId2Header))
HostId = response.GetHeaderValue(HeaderKeys.XAmzId2Header);
if (response.IsHeaderPresent(HeaderKeys.XAmzVersionId))
VersionId = response.GetHeaderValue(HeaderKeys.XAmzVersionId);
}
示例3: JsonUnmarshallerContext
/// <summary>
/// Wrap the jsonstring for unmarshalling.
/// </summary>
/// <param name="responseStream">Stream that contains the JSON for unmarshalling</param>
/// <param name="maintainResponseBody"> If set to true, maintains a copy of the complete response body as the stream is being read.</param>
/// <param name="responseData">Response data coming back from the request</param>
public JsonUnmarshallerContext(Stream responseStream, bool maintainResponseBody, IWebResponseData responseData)
{
if (maintainResponseBody)
{
this.WrappingStream = new CachingWrapperStream(responseStream, AWSConfigs.LoggingConfig.LogResponsesSizeLimit);
responseStream = this.WrappingStream;
}
this.WebResponseData = responseData;
this.MaintainResponseBody = maintainResponseBody;
long contentLength;
bool parsedContentLengthHeader = long.TryParse (responseData.GetHeaderValue ("Content-Length"), out contentLength);
//possible scenario in unity where the content length in header does not match responseData.ContentLength
//responseData.ContentLength represents actual bytes downloaded header value represents the length sent from the server.
//we will only try to setup crc32 in case the responseData.ContentLenth is same as the content lenght from the header.
//failing to do so may result in the stream being cut off in the middle (since the zip stream length is less than the responseData.ContentLength)
//or may result in a crc32 exception since the crc32 calcuated value for an unzipped stream will differ from the crc32 values for a zipped stream.
if (parsedContentLengthHeader && responseData.ContentLength.Equals (contentLength))
{
base.SetupCRCStream(responseData, responseStream, contentLength);
}
if (this.CrcStream != null)
streamReader = new StreamReader(this.CrcStream);
else
streamReader = new StreamReader(responseStream);
jsonReader = new JsonReader(streamReader);
}
示例4: JsonUnmarshallerContext
/// <summary>
/// Wrap the jsonstring for unmarshalling.
/// </summary>
/// <param name="responseStream">Stream that contains the JSON for unmarshalling</param>
/// <param name="responseData">Response data coming back from the request</param>
public JsonUnmarshallerContext(Stream responseStream, IWebResponseData responseData)
{
this.WebResponseData = responseData;
this.ResponseContents = null;
long contentLength;
if (responseData != null && long.TryParse(responseData.GetHeaderValue("Content-Length"), out contentLength))
{
base.SetupCRCStream(responseData, responseStream, contentLength);
}
if (this.CrcStream != null)
streamReader = new StreamReader(this.CrcStream);
else
streamReader = new StreamReader(responseStream);
jsonReader = new JsonReader(streamReader);
}
示例5: JsonUnmarshallerContext
/// <summary>
/// Wrap the jsonstring for unmarshalling.
/// </summary>
/// <param name="responseStream">Stream that contains the JSON for unmarshalling</param>
/// <param name="maintainResponseBody"> If set to true, maintains a copy of the complete response body as the stream is being read.</param>
/// <param name="responseData">Response data coming back from the request</param>
public JsonUnmarshallerContext(Stream responseStream, bool maintainResponseBody, IWebResponseData responseData)
{
if (maintainResponseBody)
{
this.WrappingStream = new CachingWrapperStream(responseStream, AWSConfigs.LoggingConfig.LogResponsesSizeLimit);
responseStream = this.WrappingStream;
}
this.WebResponseData = responseData;
this.MaintainResponseBody = maintainResponseBody;
//if the json unmarshaller context is being called internally without their being a http response then the response data would be null
if(responseData != null)
{
long contentLength;
bool parsedContentLengthHeader = long.TryParse(responseData.GetHeaderValue("Content-Length"), out contentLength);
//possible scenario in unity where the content length in header does not match responseData.ContentLength
//responseData.ContentLength represents actual bytes downloaded header value represents the length sent from the server.
//we will only try to setup crc32 in case the responseData.ContentLength is same as the content length from the header.
//failing to do so may result in the stream being cut off in the middle (since the zip stream length is less than the responseData.ContentLength)
//or may result in a crc32 exception since the crc32 calcuated value for an unzipped stream will differ from the crc32 values for a zipped stream.
//
// Temporary work around checking Content-Encoding for an issue with CoreCLR on Linux returning Content-Length for a gzipped response.
// Causing the SDK to attempt a CRC check over the gzipped response data with a CRC value for the uncompressed value.
// The Content-Encoding check can be removed with the following github issue is shipped.
// https://github.com/dotnet/corefx/issues/6796
if (parsedContentLengthHeader && responseData.ContentLength.Equals(contentLength) &&
string.IsNullOrEmpty(responseData.GetHeaderValue("Content-Encoding")))
{
base.SetupCRCStream(responseData, responseStream, contentLength);
}
}
if (this.CrcStream != null)
streamReader = new StreamReader(this.CrcStream);
else
streamReader = new StreamReader(responseStream);
jsonReader = new JsonReader(streamReader);
}
示例6: Create
internal static WebServiceResponseEventArgs Create(AmazonWebServiceResponse response, IRequest request, IWebResponseData webResponseData)
{
WebServiceResponseEventArgs args = new WebServiceResponseEventArgs
{
RequestHeaders = request.Headers,
Parameters = request.Parameters,
ServiceName = request.ServiceName,
Request = request.OriginalRequest,
Endpoint = request.Endpoint,
Response = response
};
args.ResponseHeaders = new Dictionary<string, string>();
var headerNames = webResponseData.GetHeaderNames();
foreach (var responseHeaderName in headerNames)
{
string responseHeaderValue = webResponseData.GetHeaderValue(responseHeaderName);
args.ResponseHeaders[responseHeaderName] = responseHeaderValue;
}
return args;
}
示例7: JsonUnmarshallerContext
/// <summary>
/// Wrap the jsonstring for unmarshalling.
/// </summary>
/// <param name="responseStream">Stream that contains the JSON for unmarshalling</param>
/// <param name="maintainResponseBody"> If set to true, maintains a copy of the complete response body as the stream is being read.</param>
/// <param name="responseData">Response data coming back from the request</param>
public JsonUnmarshallerContext(Stream responseStream, bool maintainResponseBody, IWebResponseData responseData)
{
if (maintainResponseBody)
{
this.WrappingStream = new CachingWrapperStream(responseStream);
responseStream = this.WrappingStream;
}
this.WebResponseData = responseData;
this.MaintainResponseBody = maintainResponseBody;
long contentLength;
if (responseData != null && long.TryParse(responseData.GetHeaderValue("Content-Length"), out contentLength))
{
base.SetupCRCStream(responseData, responseStream, contentLength);
}
if (this.CrcStream != null)
streamReader = new StreamReader(this.CrcStream);
else
streamReader = new StreamReader(responseStream);
jsonReader = new JsonReader(streamReader);
}
示例8: CreateContext
public override UnmarshallerContext CreateContext(IWebResponseData response, bool readEntireResponse, Stream stream, RequestMetrics metrics)
{
if (response.IsHeaderPresent(AMZ_ID_2))
metrics.AddProperty(Metric.AmzId2, response.GetHeaderValue(AMZ_ID_2));
return base.CreateContext(response, readEntireResponse, stream, metrics);
}
示例9: HasSSEHeaders
private static bool HasSSEHeaders(IWebResponseData webResponseData)
{
bool usesCustomerAlgorithm = !string.IsNullOrEmpty(webResponseData.GetHeaderValue(HeaderKeys.XAmzSSECustomerAlgorithmHeader));
bool usesKmsKeyId = !string.IsNullOrEmpty(webResponseData.GetHeaderValue(HeaderKeys.XAmzServerSideEncryptionAwsKmsKeyIdHeader));
return usesCustomerAlgorithm || usesKmsKeyId;
}