Esempio n. 1
0
        public WebResponse <TMessage> Update <TMessage>(string uri, string etag, TMessage message, MdmRequestInfo requestInfo)
        {
            Logger.DebugFormat("Start: MessageRequester.Update {0}", uri);

            CheckAndPopulateRequestInfo(ref requestInfo);

            var requestId   = requestInfo.RequestId;
            var webResponse = new WebResponse <TMessage>()
            {
                RequestId = requestId
            };

            this.ResponseHandler(webResponse, uri, client =>
            {
                client.AddHeader("If-Match", etag);
                client.AddHeader(CoreConstants.UserNameHeader, GetUserName());
                client.AddHeader(MdmConstants.MdmRequestHeaderName, requestInfo.Encode());

                var content = new ObjectContent <TMessage>(message, new XmlMediaTypeFormatter());
                using (var response = client.Post(uri, content))
                {
                    this.PopulateWebResponse(webResponse, response, HttpStatusCode.NoContent);

                    if (webResponse.IsValid)
                    {
                        webResponse.Location = this.Location(uri, response);
                    }
                }
            });

            Logger.DebugFormat("Finish: MessageRequester.Update {0}", uri);

            return(webResponse);
        }
Esempio n. 2
0
        public WebResponse <TMessage> Delete <TMessage>(string uri, MdmRequestInfo requestInfo)
        {
            Logger.DebugFormat("Start: MessageRequester.Delete {0}", uri);

            CheckAndPopulateRequestInfo(ref requestInfo);

            var requestId = requestInfo.RequestId;

            var webResponse = new WebResponse <TMessage>()
            {
                RequestId = requestId
            };

            this.ResponseHandler(webResponse, uri, client =>
            {
                client.AddHeader(CoreConstants.UserNameHeader, GetUserName());
                client.AddHeader(MdmConstants.MdmRequestHeaderName, requestInfo.Encode());

                using (var response = client.Delete(uri))
                {
                    this.PopulateWebResponse(webResponse, response, HttpStatusCode.OK);
                }
            });

            Logger.DebugFormat("Finish: MessageRequester.Delete {0}", uri);

            return(webResponse);
        }