コード例 #1
0
 internal ServiceHttpResponse(string content, string etag, LinkHeaderValue link, string correlationId)
 {
     this.Content = content;
     this.Etag = etag;
     this.Link = link;
     this.CorrelationId = correlationId;
 }
コード例 #2
0
 internal ServiceHttpResponse(string content, string etag, LinkHeaderValue link, string correlationId)
 {
     this.Content       = content;
     this.Etag          = etag;
     this.Link          = link;
     this.CorrelationId = correlationId;
 }
コード例 #3
0
        public void Test(string headerValue, string expectedUrl, string expectedRel)
        {
            var parsed = LinkHeaderValue.TryParse(headerValue, out var value);

            Assert.True(parsed);
            Assert.Equal(expectedUrl, value.Url);
            Assert.Equal(expectedRel, value.Rel);
        }
コード例 #4
0
        public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
        {
            if (actionExecutedContext == null)
            {
                throw new ArgumentNullException("actionExecutedContext");
            }

            HttpRequestMessage request = actionExecutedContext.Request;

            if (request == null)
            {
                throw new InvalidOperationException(TResources.ParameterNull.FormatForUser("Request"));
            }

            HttpResponseMessage response = actionExecutedContext.Response;

            if (response == null)
            {
                return;
            }

            long?      count            = request.ODataProperties().TotalCount;
            IQueryable queryableResults = null;

            if (count.HasValue && response.TryGetContentValue(out queryableResults))
            {
                // Client has requested an inline count, so the actual response content will contain
                // the query results as well as the count. Create a new ObjectContent for the query results.
                QueryResult        queryResult = new QueryResult(queryableResults, count);
                MediaTypeFormatter formatter   = ((ObjectContent)response.Content).Formatter;
                response.Content = new ObjectContent <QueryResult>(queryResult, formatter);
            }

            AddETagResponseHeader(response);

            Uri nextAddr = request.ODataProperties().NextLink;

            if (nextAddr != null)
            {
                LinkHeaderValue nextLink = new LinkHeaderValue(nextAddr)
                {
                    Rel = "next"
                };
                response.Headers.Add("Link", nextLink.ToString());
            }
        }
 public MobileServiceHttpResponse(string content, string etag, LinkHeaderValue link)
 {
     this.Content = content;
     this.Etag = etag;
     this.Link = link;
 }
コード例 #6
0
 public static void IsLink(LinkHeaderValue actual, string rel, string href)
 {
     Assert.Equal(rel, actual.Rel);
     Assert.Equal(href, actual.Href);
 }
 public MobileServiceHttpResponse(string content, string etag, LinkHeaderValue link)
 {
     this.Content = content;
     this.Etag    = etag;
     this.Link    = link;
 }