static void OnConnect(IPipeline pipeline, bool success, TunnelPipeline tunnelPipeline) { if (success == false) { return; } var packet = new BufferPacket(pipeline, new byte[] { 1, 2, 3 }); packet.SetBufferSize(3); tunnelPipeline.Output(packet, CompleteOutput, default(object)); }
static void ProcessRequest(IPipeline pipeline, IPacket packet, object state) { var request = (HttpRequest)packet; var str = ("HTTP/1.1 200 OK\r\n" + "Transfer-Encoding: chunked\r\n" + "\r\n" + request.Uri.Length.ToString("X") + "\r\n" + request.Uri + "\r\n" + "0\r\n" + "\r\n"); var bytes = Encoding.UTF8.GetBytes(str); var response = new BufferPacket(pipeline, bytes); response.SetBufferSize(bytes.Length); ((HttpPipeline)pipeline).TransPipeline.Output <object>(response , (a, b, c) => pipeline.Input <object>(ProcessRequest, null), null); }