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()

This is the class which makes the HTTP request:
AWSSDK_DotNet35\Amazon.Runtime\Pipeline\HttpHandler\HttpHandler.cs
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

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

Popular posts from this blog

Tutorial: Using Google Cloud Storage from C# and .NET

Late 2008 Macbook only giving 1.5 gb/s speed with 6 gb/s Intel SSD?

The ridiculous interview experience