public void HttpRequestTest() { var lineSource = @"GET / HTTP/1.1 "; Nekoxy2.ApplicationLayer.Entities.Http.HttpRequestLine.TryParse(lineSource, out var line); var headersSource = @"Host: example.com "; Nekoxy2.ApplicationLayer.Entities.Http.HttpHeaders.TryParse(headersSource, out var headers); var bodySource = "hogefuga"; var spiEntity = new Nekoxy2.ApplicationLayer.Entities.Http.HttpRequest(line, headers, Encoding.ASCII.GetBytes(bodySource), Nekoxy2.ApplicationLayer.Entities.Http.HttpHeaders.Empty); var apiEntity = ReadOnlyHttpRequest.Convert(spiEntity); var apiEntity2 = ReadOnlyHttpRequest.Convert(spiEntity); apiEntity.ToString().Is(spiEntity.ToString()); apiEntity.GetHashCode().Is(apiEntity2.GetHashCode()); apiEntity.Equals(apiEntity2).IsTrue(); (apiEntity is Spi.Entities.Http.IReadOnlyHttpRequest).IsTrue(); (apiEntity is Nekoxy2.Entities.Http.IReadOnlyHttpRequest).IsTrue(); }
public void SessionTest() { var requestLineSource = @"GET / HTTP/1.1 "; Nekoxy2.ApplicationLayer.Entities.Http.HttpRequestLine.TryParse(requestLineSource, out var line); var requestHeaderSource = @"Host: example.com "; Nekoxy2.ApplicationLayer.Entities.Http.HttpHeaders.TryParse(requestHeaderSource, out var requestHeaders); var spiRequest = new Nekoxy2.ApplicationLayer.Entities.Http.HttpRequest(line, requestHeaders, new byte[0], Nekoxy2.ApplicationLayer.Entities.Http.HttpHeaders.Empty); var statusLineSource = @"HTTP/1.1 200 OK "; Nekoxy2.ApplicationLayer.Entities.Http.HttpStatusLine.TryParse(statusLineSource, out var statusLine); var responseHeaderSource = @"Content-Length: 8 "; Nekoxy2.ApplicationLayer.Entities.Http.HttpHeaders.TryParse(responseHeaderSource, out var responseHeaders); var responseBodySource = "hogefuga"; var spiResponse = new Nekoxy2.ApplicationLayer.Entities.Http.HttpResponse(statusLine, responseHeaders, Encoding.ASCII.GetBytes(responseBodySource), Nekoxy2.ApplicationLayer.Entities.Http.HttpHeaders.Empty); var spiSession = new Nekoxy2.ApplicationLayer.Entities.Http.Session(spiRequest, spiResponse); var apiSession = ReadOnlySession.Convert(spiSession); var apiSession2 = ReadOnlySession.Convert(spiSession); apiSession.ToString().Is(spiSession.ToString()); apiSession.GetHashCode().Is(apiSession2.GetHashCode()); apiSession.Equals(apiSession2).IsTrue(); (apiSession is Spi.Entities.Http.IReadOnlySession).IsTrue(); (apiSession is Nekoxy2.Entities.Http.IReadOnlySession).IsTrue(); apiSession.Source.Is(spiSession); }