Getting around modifying the Amazon S3 SDK
It is useful to know the way around some of the code in the
Amazon S3 SDK which are the main entry points.
AWSSDK_DotNet35\Amazon.S3\AmazonS3Client.cs – Contains the
main entry points.
This is the method where the HTTP request is made and the
response is retrieved:
AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpWebRequestFactory.cs
public virtual IWebResponseData GetResponse()
public virtual IWebResponseData GetResponse()
This is the class which makes the HTTP request:
AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpHandler.cs
public override void InvokeSync(IExecutionContext executionContext)
public override void InvokeSync(IExecutionContext executionContext)
This is the class where the ExecutionContext and its
internal properties like RequestContext and ResponseContext are created:
AWSSDK_DotNet35\Amazon.Runtime\AmazonServiceClient.cs
protected TResponse Invoke<TRequest, TResponse>(TRequest request, IMarshaller<IRequest, AmazonWebServiceRequest> marshaller, ResponseUnmarshaller unmarshaller) where TRequest: AmazonWebServiceRequest where TResponse : AmazonWebServiceResponse
protected TResponse Invoke<TRequest, TResponse>(TRequest request, IMarshaller<IRequest, AmazonWebServiceRequest> marshaller, ResponseUnmarshaller unmarshaller) where TRequest: AmazonWebServiceRequest where TResponse : AmazonWebServiceResponse
This is the type of class within which properties like the
Request.Headers are transferred from the regular objects to the internal
objects within the Execution Context:
AWSSDK_DotNet35\Amazon.S3\Model\Internal\MarshallTransformations\PutObjectRequestMarshaller.cs
AWSSDK_DotNet35\Amazon.S3\Model\Internal\MarshallTransformations\GetObjectRequestMarshaller.cs
AWSSDK_DotNet35\Amazon.S3\Model\Internal\MarshallTransformations\DeleteObjectRequestMarshaller.cs
Comments
Post a Comment