async Task ProcessAsync(HttpContext context) { var path = context.Request.Path.Value; var form = await FormData.FromRequest(context.Request); onHttp onHttp = null; mapParser.TryGetValue(path.ToLower(), out onHttp); if (onHttp != null) { var jsonback = await onHttp(form); var res = context.Response; res.StatusCode = 200; res.Headers["Access-Control-Allow-Origin"] = "*"; res.Headers["Content-Type"] = "text/plain; charset=UTF-8"; if (jsonback is string) { res.Headers["Content-Type"] = "text/plain; charset=UTF-8"; await context.Response.WriteAsync(jsonback as string); } else if (jsonback is File) { res.Headers["Content-Type"] = "application/octet-stream"; await context.Response.SendFileAsync(jsonback as File); } else { context.Response.StatusCode = 500; await context.Response.WriteAsync("parse return error:" + path); } } else { context.Response.StatusCode = 400; await context.Response.WriteAsync("not found:" + path); } }
async Task ProcessAsync(HttpContext context) { var path = context.Request.Path.Value; var form = await FormData.FromRequest(context.Request); onHttp onHttp = null; mapParser.TryGetValue(path.ToLower(), out onHttp); if (onHttp != null) { var jsonback = await onHttp(form); var res = context.Response; res.StatusCode = 200; res.Headers["Access-Control-Allow-Origin"] = "*"; res.Headers["Content-Type"] = "text/plain; charset=UTF-8"; await context.Response.WriteAsync(jsonback.ToString()); } else { context.Response.StatusCode = 400; await context.Response.WriteAsync("not found:" + path); } }
public void AddParser(string path, onHttp onhttp) { mapParser[path.ToLower()] = onhttp; }