示例#1
0
        protected virtual bool RequestHandler(IncomingRequest req, OutgoingResponse res)
        {
            if (!CheckHeaders(req, res))
            {
                return(false);
            }
            IPAddress remote = res.Connection.Base.RemoteAddress;

            if (!SubprotocolNegotiation.TryParse(req["Sec-WebSocket-Protocol"] ?? "", out string[] subprotocols))
        public async Task ShouldSerializeResponses()
        {
            var pipe = new Pipe(new PipeOptions());

            using var handler = NewHandler(pipe.Writer);

            var value = new OutgoingResponse(1, 1, new OmniSharp.Extensions.JsonRpc.Server.Request(1, "a", null));


            handler.Send(value);
            await handler.WriteAndFlush();

            using var reader = new StreamReader(pipe.Reader.AsStream());
            var received = await reader.ReadToEndAsync();

            const string send = "Content-Length: 35\r\n\r\n{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":1}";

            received.Should().Be(send);
        }
        public async Task ShouldSerializeResponses()
        {
            var pipe = new Pipe(new PipeOptions());

            using var handler = NewHandler(pipe.Writer);

            var value = new OutgoingResponse(1, new object(),
                                             new OmniSharp.Extensions.JsonRpc.Server.Request(1, "command", new JObject()));

            handler.Send(value);
            await handler.WriteAndFlush();

            using var reader = new StreamReader(pipe.Reader.AsStream());
            var received = await reader.ReadToEndAsync();

            const string send =
                "Content-Length: 88\r\n\r\n{\"seq\":1,\"type\":\"response\",\"request_seq\":1,\"success\":true,\"command\":\"command\",\"body\":{}}";

            received.Should().Be(send);
        }
示例#4
0
 protected void _RequestHandler(IncomingRequest req, OutgoingResponse res) => RequestHandler(req, res);
示例#5
0
 public ErrorResponse(OutgoingResponse outgoingResponse)
 {
     Response = outgoingResponse;
     Error    = null;
 }