Beispiel #1
0
        public AfterHandleRequestResult AfterHandleRequest(IHttpServerRequest request, HttpServerResponse httpResponse)
        {
            string origin;
            if (!TryGetAllowOrigin(request.Origin, out origin))
                return null;

            httpResponse.AddHeader(new AccessControlAllowOriginHeader(origin));
            return new AfterHandleRequestResult(httpResponse);
        }
 public BeforeHandleRequestResult(HttpServerResponse response)
 {
     Response = response;
 }
Beispiel #3
0
 private static async Task WriteResponseAsync(HttpServerResponse response, StreamSocket socket)
 {
     using (var output = socket.OutputStream)
     {
         await output.WriteAsync(response.ToBytes().AsBuffer());
         await output.FlushAsync();
     }
 }
Beispiel #4
0
 private static void AddHeaderIfNotNull(IHttpHeader contentEncodingHeader, HttpServerResponse newResponse)
 {
     if (contentEncodingHeader != null)
     {
         newResponse.AddHeader(contentEncodingHeader);
     }
 }
Beispiel #5
0
        private async Task<HttpServerResponse> AddContentEncodingAsync(HttpServerResponse httpResponse, IEnumerable<string> acceptEncodings)
        {
            var contentEncoder = _contentEncoderFactory.GetEncoder(acceptEncodings);
            var encodedContent = await contentEncoder.Encode(httpResponse.Content);

            var newResponse = HttpServerResponse.Create(httpResponse.HttpVersion, httpResponse.ResponseStatus);

            foreach (var header in httpResponse.Headers)
            {
                newResponse.AddHeader(header);
            }
            newResponse.Content = encodedContent;
            newResponse.AddHeader(new ContentLengthHeader(encodedContent?.Length ?? 0));

            var contentEncodingHeader = contentEncoder.ContentEncodingHeader;
            AddHeaderIfNotNull(contentEncodingHeader, newResponse);

            return newResponse;
        }
Beispiel #6
0
 private HttpServerResponse ApplyMessageInspectorsAfterHandleRequest(IHttpServerRequest request,
     HttpServerResponse httpResponse)
 {
     foreach (var httpMessageInspector in _messageInspectors)
     {
         var result = httpMessageInspector.AfterHandleRequest(request, httpResponse);
         if (result != null)
             httpResponse = result.Response;
     }
     return httpResponse;
 }
 public AfterHandleRequestResult(HttpServerResponse response)
 {
     Response = response;
 }