public static AppDelegate App() { return (env, result, fault) => { var request = new Request(env); var response = new Response(result); if (request.Path == "/") { response.Status = "200 OK"; response.ContentType = "text/html"; response.Start(() => { response.Write("<h1>Sample.App</h1>"); response.Write("<p><a href='{0}/wilson/'>Wilson</a></p>", request.PathBase); response.Write("<p><a href='{0}/wilsonasync/'>Wilson (async)</a></p>", request.PathBase); response.Write("<p><a href='{0}/nancy/'>Nancy</a></p>", request.PathBase); response.Write("<p><a href='{0}/fileupload'>File Upload</a></p>", request.PathBase); response.End(); }); } else { NotFound.Call(env, result, fault); } }; }
private static async Task<Response> ExecuteCore(IEdgePage page, Request request, ITrace tracer) { Response resp = new Response(200); resp.Start(); await page.Run(request, resp); resp.End(); return resp; }
public override void Run() { AppDelegate app = (env, result, fault) => { var response = new Response(result); string message = string.Format("Instance Id : {0}, Counter value : {1}", RoleEnvironment.CurrentRoleInstance.Id, _counter); response.Headers.SetHeader("Content-Length", message.Length.ToString()); response.Write(message); response.End(); }; ServerFactory.Create(app, 1234, null); while (true) { Thread.Sleep(10000); this._counter++; } }
public static IAppBuilder UseDirect(this IAppBuilder builder, Func<Request, Response, Task> app) { return builder.UseFunc<AppFunc>(next => environment => { var req = new Request(environment); var resp = new Response(environment) { Next = () => next(environment) }; app.Invoke(req, resp) .Then(() => resp.EndAsync()) .Catch(caught => { resp.End(caught.Exception); return caught.Handled(); }); return resp.Task; }); }
public static IAppBuilder UseDirect(this IAppBuilder builder, Func<Request, Response, Task> app) { return builder.Use<AppDelegate>(next => call => { var req = new Request(call); var resp = new Response { Next = () => next(call) }; app.Invoke(req, resp) .Then(() => resp.End()) .Catch(caught => { resp.Error(caught.Exception); return caught.Handled(); }); return resp.GetResultAsync(); }); }
/// <summary> /// Send data back to the user /// </summary> /// <param name="result">Result delegate from server-callback</param> /// <param name="bytes">byte-array to send</param> private void SendText(ResultDelegate result, IDictionary<string, object> env, string text, int httpCode = 200) { Response response = new Response(result); Request request = new Request(env); string requestString = (string)env[OwinConstants.RequestPath]; response.ContentType = requestString.MimeType(); response.Write(text); response.End(); }
/// <summary> /// Send data back to the user /// </summary> /// <param name="result">Result delegate from server-callback</param> /// <param name="bytes">byte-array to send</param> private void SendData(ResultDelegate result, IDictionary<string, object> env, byte[] data) { Response response = new Response(result); Request request = new Request(env); string requestString = (string)env[OwinConstants.RequestPath]; response.ContentType = requestString.MimeType(); response.Headers["Content-Range"] = new string[] { "bytes 0-" + (data.Length - 1).ToString() }; response.Headers["Content-Length"] = new string[] { data.Length.ToString() }; response.Write(new ArraySegment<byte>(data)); response.End(); }
private void SendText(ResultDelegate result, IDictionary<string, object> env, string text) { var requestString = (string)env[OwinConstants.RequestPath]; var response = new Response(result) { ContentType = requestString.MimeType() }; response.Write(text); response.End(); }
private void SendData(ResultDelegate result, IDictionary<string, object> env, byte[] data) { var requestString = (string)env[OwinConstants.RequestPath]; var response = new Response(result) { ContentType = requestString.MimeType() }; response.Headers["Content-Range"] = new[] { string.Format("bytes 0-{0}", (data.Length - 1)) }; response.Headers["Content-Length"] = new[] { data.Length.ToString(CultureInfo.InvariantCulture) }; response.Write(new ArraySegment<byte>(data)); response.End(); }
private ResultParameters HandleException(Exception ex) { // Run the adapters ErrorSummary details = null; foreach (IExceptionAnalyzer analyzer in Analyzers) { details = analyzer.Analyze(ex); if (details != null) { break; } } if (details == null) { details = GenerateNoProcessorsError(ex); } // Generate the HTML ErrorPageBuilder builder = new ErrorPageBuilder(details); Response resp = new Response(details.StatusCode); resp.Start(); resp.ReasonPhrase = details.ReasonPhrase; resp.ContentType = "text/html"; StringBuilder sb = new StringBuilder(); using (StringWriter w = new StringWriter(sb)) { builder.Write(w); } resp.Write(sb.ToString()); resp.End(); return resp.GetResultAsync().Result; //Good idea? Probably not... }
private void App(Request req, Response res) { res.ContentType = "text/plain"; res.Write("You did a {0} at {1}", req.Method, req.Path); res.End(); }