internal CosmosTriggerResponse CreateTriggerResponse(
     CosmosResponseMessage cosmosResponseMessage,
     CosmosTrigger trigger)
 {
     return(CosmosTriggerResponse.CreateResponse(
                cosmosResponseMessage,
                this.jsonSerializer,
                trigger));
 }
 /// <summary>
 /// Create the cosmos trigger response.
 /// Creates the response object, deserializes the
 /// http content stream, and disposes of the HttpResponseMessage
 /// </summary>
 /// <param name="cosmosResponseMessage"><see cref="CosmosResponseMessage"/> from the Cosmos DB service</param>
 /// <param name="jsonSerializer">The cosmos json serializer</param>
 /// <param name="trigger">The cosmos trigger</param>
 internal static CosmosTriggerResponse CreateResponse(
     CosmosResponseMessage cosmosResponseMessage,
     CosmosJsonSerializer jsonSerializer,
     CosmosTrigger trigger)
 {
     return(CosmosResponse <CosmosTriggerSettings>
            .InitResponse <CosmosTriggerResponse, CosmosTriggerSettings>(
                (httpResponse) => new CosmosTriggerResponse(cosmosResponseMessage, trigger),
                jsonSerializer,
                cosmosResponseMessage));
 }
 /// <summary>
 /// A private constructor to ensure the factory is used to create the object.
 /// This will prevent memory leaks when handling the HttpResponseMessage
 /// </summary>
 internal CosmosTriggerResponse(
     HttpStatusCode httpStatusCode,
     CosmosResponseMessageHeaders headers,
     CosmosTriggerSettings cosmosTriggerSettings,
     CosmosTrigger trigger) : base(
         httpStatusCode,
         headers,
         cosmosTriggerSettings)
 {
     this.Trigger = trigger;
 }
 internal Task <CosmosTriggerResponse> CreateTriggerResponse(
     CosmosTrigger trigger,
     Task <CosmosResponseMessage> cosmosResponseMessageTask)
 {
     return(this.MessageHelper(cosmosResponseMessageTask, (cosmosResponseMessage) =>
     {
         CosmosTriggerSettings settings = this.ToObjectInternal <CosmosTriggerSettings>(cosmosResponseMessage);
         return new CosmosTriggerResponse(
             cosmosResponseMessage.StatusCode,
             cosmosResponseMessage.Headers,
             settings,
             trigger);
     }));
 }
 /// <summary>
 /// A private constructor to ensure the factory is used to create the object.
 /// This will prevent memory leaks when handling the HttpResponseMessage
 /// </summary>
 private CosmosTriggerResponse(
     CosmosResponseMessage cosmosResponse,
     CosmosTrigger trigger) : base(cosmosResponse)
 {
     this.Trigger = trigger;
 }