internal ServiceHttpResponse(string content, string etag, LinkHeaderValue link, string correlationId) { this.Content = content; this.Etag = etag; this.Link = link; this.CorrelationId = correlationId; }
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); }
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; }
public static void IsLink(LinkHeaderValue actual, string rel, string href) { Assert.Equal(rel, actual.Rel); Assert.Equal(href, actual.Href); }