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; }
private static async Task WriteResponseAsync(HttpServerResponse response, StreamSocket socket) { using (var output = socket.OutputStream) { await output.WriteAsync(response.ToBytes().AsBuffer()); await output.FlushAsync(); } }
private static void AddHeaderIfNotNull(IHttpHeader contentEncodingHeader, HttpServerResponse newResponse) { if (contentEncodingHeader != null) { newResponse.AddHeader(contentEncodingHeader); } }
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; }
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; }