internal void Init( CosmosClientOptions clientOptions, DocumentClient documentClient) { this.ClientOptions = clientOptions; this.DocumentClient = documentClient; //Request pipeline ClientPipelineBuilder clientPipelineBuilder = new ClientPipelineBuilder( this, this.ClientOptions.CustomHandlers); this.RequestHandler = clientPipelineBuilder.Build(); CosmosSerializer userSerializer = this.ClientOptions.GetCosmosSerializerWithWrapperOrDefault(); this.ResponseFactory = new CosmosResponseFactory( defaultJsonSerializer: this.ClientOptions.PropertiesSerializer, userJsonSerializer: userSerializer); CosmosSerializer sqlQuerySpecSerializer = CosmosSqlQuerySpecJsonConverter.CreateSqlQuerySpecSerializer( cosmosSerializer: userSerializer, propertiesSerializer: this.ClientOptions.PropertiesSerializer); this.ClientContext = new ClientContextCore( client: this, clientOptions: this.ClientOptions, userJsonSerializer: userSerializer, defaultJsonSerializer: this.ClientOptions.PropertiesSerializer, sqlQuerySpecSerializer: sqlQuerySpecSerializer, cosmosResponseFactory: this.ResponseFactory, requestHandler: this.RequestHandler, documentClient: this.DocumentClient); }
internal CosmosSerializerCore( CosmosSerializer customSerializer = null) { if (customSerializer == null) { this.customSerializer = null; this.sqlQuerySpecSerializer = null; } else { this.customSerializer = new CosmosJsonSerializerWrapper(customSerializer); this.sqlQuerySpecSerializer = CosmosSqlQuerySpecJsonConverter.CreateSqlQuerySpecSerializer( cosmosSerializer: this.customSerializer, propertiesSerializer: CosmosSerializerCore.propertiesSerializer); } }
internal CosmosSerializerCore( CosmosSerializer customSerializer = null) { if (customSerializer == null) { this.customSerializer = null; // this would allow us to set the JsonConverter and inturn handle Serialized/Stream Query Parameter Value. this.sqlQuerySpecSerializer = CosmosSqlQuerySpecJsonConverter.CreateSqlQuerySpecSerializer( cosmosSerializer: null, propertiesSerializer: CosmosSerializerCore.propertiesSerializer); this.patchOperationSerializer = null; } else { this.customSerializer = new CosmosJsonSerializerWrapper(customSerializer); this.sqlQuerySpecSerializer = CosmosSqlQuerySpecJsonConverter.CreateSqlQuerySpecSerializer( cosmosSerializer: this.customSerializer, propertiesSerializer: CosmosSerializerCore.propertiesSerializer); this.patchOperationSerializer = PatchOperationsJsonConverter.CreatePatchOperationsSerializer( cosmosSerializer: this.customSerializer, propertiesSerializer: CosmosSerializerCore.propertiesSerializer); } }