public async Task HandleRequest(IOwinContext context, string rootpath, string relativePath) { var api = relativePath.ToLower(); var formdata = await FormData.FromRequest(context.Request); if (formdata == null) { context.Response.StatusCode = 500; context.Response.ContentType = "text/plain"; MyJson.JsonNode_Object json = new MyJson.JsonNode_Object(); json["msg"] = new MyJson.JsonNode_ValueString("formdata format error."); json["tag"] = new MyJson.JsonNode_ValueNumber(-1); await context.Response.WriteAsync(json.ToString()); return; } if (relativePath == "parse") { await parse(context, formdata); return; } else { await help(context, formdata); return; } }
public async Task HandleRequest(IOwinContext context, string rootpath, string relativePath) { var api = relativePath.ToLower(); var formdata = await FormData.FromRequest(context.Request); if (formdata == null) { context.Response.StatusCode = 500; context.Response.ContentType = "text/plain"; MyJson.JsonNode_Object json = new MyJson.JsonNode_Object(); json["msg"] = new MyJson.JsonNode_ValueString("formdata format error."); json["tag"] = new MyJson.JsonNode_ValueNumber(-1); await context.Response.WriteAsync(json.ToString()); return; } if (relativePath == "ver") { await ver(context, formdata); return; } else if (relativePath == "filemap_list") { await filemap_list(context, formdata); return; } else if (relativePath == "filemap_add") { await filemap_add(context, formdata); return; } else if (relativePath == "filemap_remove") { await filemap_remove(context, formdata); return; } else if (relativePath == "file_list") { await file_list(context, formdata); return; } else if (relativePath == "file_save") { await file_save(context, formdata); return; } else if (relativePath == "file_remove") { await file_remove(context, formdata); return; } else if (relativePath == "file_cmd") { await file_cmd(context, formdata); return; } else { MyJson.JsonNode_Object jsonr = new MyJson.JsonNode_Object(); jsonr["tag"] = new MyJson.JsonNode_ValueNumber(-1000); jsonr["msg"] = new MyJson.JsonNode_ValueString("unknown cmd."); await context.Response.WriteAsync(jsonr.ToString()); } return; }
public void HandleRequest(IOwinContext context, string rootpath, string relativePath) { var api = relativePath.ToLower(); var formdata = FormData.FromRequest(context.Request); if (formdata == null) { context.Response.StatusCode = 500; context.Response.ContentType = "text/plain"; MyJson.JsonNode_Object json = new MyJson.JsonNode_Object(); json["msg"] = new MyJson.JsonNode_ValueString("formdata format error."); json["tag"] = new MyJson.JsonNode_ValueNumber(-1); context.Response.Write(json.ToString()); return; } if (linking && relativePath != "comfirmpassword") { MyJson.JsonNode_Object json = new MyJson.JsonNode_Object(); json["tag"] = new MyJson.JsonNode_ValueNumber(-1); json["msg"] = new MyJson.JsonNode_ValueString("server is busy"); context.Response.Write(json.ToString()); return; } if (relativePath == "ver") { ver(context, formdata); return; } else if (relativePath == "state") {//查询状态 var signer = NeoDun.Signer.Ins; MyJson.JsonNode_Object jsonr = new MyJson.JsonNode_Object(); jsonr["tag"] = new MyJson.JsonNode_ValueNumber(0); string dc = signer.CheckDevice(); jsonr["count"] = new MyJson.JsonNode_ValueString(dc); if (!string.IsNullOrEmpty(dc)) { jsonr["type"] = new MyJson.JsonNode_ValueString(signer.CheckDeviceTag()); } else { jsonr["type"] = new MyJson.JsonNode_ValueString("_null_"); } context.Response.Write(jsonr.ToString()); } else if (relativePath == "listaddress") { var signer = NeoDun.Signer.Ins; MyJson.JsonNode_Object jsonr = new MyJson.JsonNode_Object(); jsonr["tag"] = new MyJson.JsonNode_ValueNumber(0); MyJson.JsonNode_Array adds = new MyJson.JsonNode_Array(); jsonr["addresses"] = adds; string dc = signer.CheckDevice(); if (!string.IsNullOrEmpty(dc)) { foreach (var add in signer.addressPool.addresses) { MyJson.JsonNode_Object item = new MyJson.JsonNode_Object(); adds.Add(item); item["type"] = new MyJson.JsonNode_ValueString(add.type.ToString()); item["address"] = new MyJson.JsonNode_ValueString(add.AddressText); } } context.Response.Write(jsonr.ToString()); } else if (relativePath == "sign") { linking = true; sign(context, formdata); return; } else if (relativePath == "addaddress") { linking = true; addAddress(context, formdata); } else if (relativePath == "deladdress") { linking = true; delAddress(context, formdata); return; } else { MyJson.JsonNode_Object jsonr = new MyJson.JsonNode_Object(); jsonr["tag"] = new MyJson.JsonNode_ValueNumber(-1000); jsonr["msg"] = new MyJson.JsonNode_ValueString("unknown cmd."); } return; }
public async void HandleRequest(IOwinContext context, string rootpath, string relativePath) { try { var api = relativePath.ToLower(); var formdata = FormData.FromRequest(context.Request); if (formdata == null) { context.Response.StatusCode = 500; context.Response.ContentType = "text/plain"; MyJson.JsonNode_Object json = new MyJson.JsonNode_Object(); json["msg"] = new MyJson.JsonNode_ValueString("formdata format error."); json["tag"] = new MyJson.JsonNode_ValueNumber(-1); context.Response.Write(json.ToString()); return; } else if (relativePath == "state") {//查询状态 var signer = NeoDun.Signer.Ins; MyJson.JsonNode_Object jsonr = new MyJson.JsonNode_Object(); jsonr["tag"] = new MyJson.JsonNode_ValueNumber(0); string dc = signer.CheckDevice(); jsonr["count"] = new MyJson.JsonNode_ValueString(dc); if (!string.IsNullOrEmpty(dc)) { jsonr["type"] = new MyJson.JsonNode_ValueString(signer.CheckDeviceTag()); } else { jsonr["type"] = new MyJson.JsonNode_ValueString("_null_"); } context.Response.Write(jsonr.ToString()); } else if (relativePath == "listaddress") { var signer = NeoDun.Signer.Ins; MyJson.JsonNode_Object jsonr = new MyJson.JsonNode_Object(); jsonr["tag"] = new MyJson.JsonNode_ValueNumber(0); MyJson.JsonNode_Array adds = new MyJson.JsonNode_Array(); jsonr["addresses"] = adds; string dc = signer.CheckDevice(); if (!string.IsNullOrEmpty(dc)) { foreach (var add in signer.addressPool.addresses) { MyJson.JsonNode_Object item = new MyJson.JsonNode_Object(); adds.Add(item); item["type"] = new MyJson.JsonNode_ValueString(add.type.ToString()); item["address"] = new MyJson.JsonNode_ValueString(add.AddressText); item["name"] = new MyJson.JsonNode_ValueString(add.name); } } context.Response.Write(jsonr.ToString()); } else if (relativePath == "sign") { if (doing) { return; } if (formdata.mapParams.ContainsKey("address") == false || formdata.mapParams.ContainsKey("data") == false) { context.Response.Write("need param,address & data"); return; } var address = formdata.mapParams["address"]; var data = formdata.mapParams["data"]; MyJson.JsonNode_Object json = new MyJson.JsonNode_Object(); doing = true; sign(json, address, data); while (true) { if (json.Keys.Count > 0) { doing = false; //读出来,拼为http响应,发回去 context.Response.Write(json.ToString()); break; } } } else { MyJson.JsonNode_Object jsonr = new MyJson.JsonNode_Object(); jsonr["tag"] = new MyJson.JsonNode_ValueNumber(-1000); jsonr["msg"] = new MyJson.JsonNode_ValueString("unknown cmd."); } return; } catch (Exception e) { context.Response.Write(e.ToString()); } async void sign(MyJson.JsonNode_Object json, string address, string data) { driver_win.helper.Result _result = await ManagerControl.Ins.ToDo(driver_win.helper.EnumControl.SignData, data, address); var result = (MyJson.JsonNode_Object)_result.data; var enumError = _result.errorCode; json["msg"] = new MyJson.JsonNode_ValueString(((UInt16)enumError).ToString("x4")); if (result != null) { json["signdata"] = result.ContainsKey("signdata") ? result["signdata"] : new MyJson.JsonNode_ValueString(""); json["pubkey"] = result.ContainsKey("pubkey") ? result["pubkey"] : new MyJson.JsonNode_ValueString(""); } } }