private OutgoingMessage Delete(IncomingMessage deleteRequest)
 {
     Log.InfoFormat("Handling Delete request");
     var response = _factory.CreateDeleteResponse();
     var incomingHeaders = new IncomingHeaders(deleteRequest);
     var outgoingHeaders = new OutgoingHeaders(response);
     _handler.HandlerDelete(incomingHeaders, outgoingHeaders);
     Log.InfoFormat("Delete request handled successfully");
     return response;
 }
 private OutgoingMessage Create(IncomingMessage createRequest)
 {
     Log.InfoFormat("Handling Create request");
     var response = _factory.CreateCreateResponse();
     var incomingHeaders = new IncomingHeaders(createRequest);
     var outgoingHeaders = new OutgoingHeaders(response);
     var reference = _handler.HandleCreate(incomingHeaders, outgoingHeaders, x => createRequest.GetPayload(x));
     response.SetBody(new CreateResponseBodyWriter(reference));
     Log.InfoFormat("Create request handled successfully");
     return response;
 }
 private OutgoingMessage Put(IncomingMessage putRequest)
 {
     Log.InfoFormat("Handling Put request");
     var response = _factory.CreatePutResponse();
     var incomingHeaders = new IncomingHeaders(putRequest);
     var outgoingHeaders = new OutgoingHeaders(response);
     var payload = _handler.HandlePut(incomingHeaders, outgoingHeaders, x => putRequest.GetPayload(x));
     response.SetBody(new SerializerBodyWriter(payload));
     Log.InfoFormat("Put request handled successfully");
     return response;
 }