private SocketWorkerJob(int index, Uri uri, WorkerThreadResult workerThreadResult) { _index = index; _uri = uri; _stopwatch = new Stopwatch(); _stopwatch.Start(); _localStopwatch = new Stopwatch(); _workerThreadResult = workerThreadResult; IPAddress ip; if (_uri.HostNameType == UriHostNameType.Dns) { var host = Dns.GetHostEntry(_uri.Host); ip = host.AddressList.First(i => i.AddressFamily == AddressFamily.InterNetwork); } else { ip = IPAddress.Parse(_uri.Host); } var endPoint = new IPEndPoint(ip, _uri.Port); _httpWorker = new HttpWorker(new HttpWorkerClient(endPoint, uri), uri); }
/// <summary> /// 一次性获取多个章节内容 /// </summary> /// <param name="nodeIdList"></param> public static bool getNodeDetail(List <string> nodeIdList, bool downloadImage = false) { try { string nodeDetails = HttpWorker.HttpGet(Global.NodeDetailApi, "nodeIds=" + string.Join(",", nodeIdList)); NodeDetailResponse nodeDtailResponse = TranslationWorker.ConvertStringToEntity <NodeDetailResponse>(nodeDetails); List <Node> nodes = nodeDtailResponse.ConvertToNodes(); if (downloadImage) { foreach (Node node in nodes)//下载图片到本地,并生成离线内容 { List <string> urls = HtmlCleaner.GetImageUrl(node.content); foreach (string url in urls) { HttpWorker.SaveImg(url, node.lawId); } node.offlineContent = HtmlCleaner.ChangeImageUrlToLocalPath(node.content, node.lawId); } } db.refreshNode(nodes, detailOnly: true); return(true); } catch (Exception) { MessageBox.Show("操作超时"); return(false); } }
public SplashViewModel(HttpWorker httpWorker, IMemberHandler memberHandler, IPlatformService platformService, SettingService settingService) { _httpFactory = httpWorker; _settingServicce = settingService; _memberHandler = memberHandler; _platformService = platformService; }
/// <summary> /// 获取登陆用户信息 /// </summary> public static void getUserInfo() { string userInfoStr = HttpWorker.HttpGet(Global.WorkerInfoUrl, "usrid=" + Global.user.Id); UserInfoResponse userInfo = TranslationWorker.ConvertStringToEntity <UserInfoResponse>(userInfoStr); userInfo.setUserInfo(); }
public async Task TestPostText() { var text = "Hello world, thanks postman-echo !"; using var fileStore = _fileStoreFactory.GetFileStoreFromName("test"); string token = await fileStore.CreateFileToken("sample.txt"); using (StreamWriter writer = new StreamWriter(await fileStore.OpenWrite(token))) { writer.Write(text); } HttpWorker worker = Host.Services.GetService <HttpWorker>(); var response = await worker.DoJsonWork <HttpWorkerInput, HttpWorkerOutput>(new HttpWorkerInput { Method = "POST", Uri = new Uri("https://postman-echo.com/post"), ContentFileToken = token, OutputFileStoreName = "test", OutputContentFileName = "test.json" }); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.True(response.Length > 0); Assert.NotNull(response.ContentFileToken); }
/// <summary> /// 获取评论用户信息 /// </summary> /// <param name="userIdList">评论用户id列表</param> /// <returns></returns> public static List <User> getUserInfoList(List <string> userIdList) { string userInfoStr = HttpWorker.HttpGet(Global.WorkerInfoUrl, "usrid=" + string.Join(",", userIdList)); UserInfoResponse userInfo = TranslationWorker.ConvertStringToEntity <UserInfoResponse>(userInfoStr); return(userInfo.ConvertToUsers()); }
private static void Main(string[] args) { List <Task> list = new List <Task>(); if (string.Equals(args[0].ToLowerInvariant(), "filesystem")) { for (uint i = 1; i < args.Length; i++) { var worker = new FileSystemWorker(); list.Add(worker.ProcessDataAsync(args[i])); } } else if (string.Equals(args[0].ToLowerInvariant(), "http")) { for (uint i = 1; i < args.Length; i++) { var worker = new HttpWorker(); list.Add(worker.ProcessDataAsync(args[i])); } } else { Console.WriteLine("Incorrect \"input_mode\". Please check: filesystem or http."); Console.ReadKey(); return; } HandleResult(list); Collector.Clear(); Console.WriteLine("Work is done. Check output file: output.txt"); Console.WriteLine("Press any key for close"); Console.ReadKey(); }
public void callWordList() { HttpWorker httpWorker = new HttpWorker(HttpWorker.wordList, httpResponse); JSONObject form = new JSONObject(); httpWorker.setData(form); httpWorker.httpWorker(); }
internal Task <string> Login(User user) { var req = new HttpRequest("login"); req.AddParameter("username", user.UserName); req.AddParameter("password", user.Password); return(HttpWorker.RunWorker <string>(req)); }
internal Task <List <ChatObject> > GetHistory(string receiver) { var req = new HttpRequest("GetHistory"); req.AddParameter("username", AppService.CurrentUser); req.AddParameter("receivername", receiver); return(HttpWorker.RunWorker <List <ChatObject> >(req)); }
public AppState(IMemberHandler memberHandler, HttpWorker httpWorker, ILocalStorageService localStorageService, ISessionStorageService sessionStorageService) { _memberHandler = memberHandler; _httpWorker = httpWorker; _localData = localStorageService; _sessionData = sessionStorageService; }
public void ReadResponseSplit() { var client = (IHttpWorkerClient) new FakeHttpWorkerClient("HTTP/1.1 200 OK\r\nDate: Wed, 06 Jul 2016 18:26:27 GMT\r\nContent-Length: 13\r\nContent-Type: text/plain\r\nServer: Kestrel\r\n\r\n", "Hello, World!"); var httpWorker = new HttpWorker(client, new Uri("http://netling.test", UriKind.Absolute), null); //TODO: Headers var(length, statusCode) = httpWorker.Send(); Assert.AreEqual(200, statusCode); Assert.AreEqual(132, length); }
private SocketWorkerJob(int index, Uri uri, WorkerThreadResult workerThreadResult) { _index = index; _uri = uri; _stopwatch = Stopwatch.StartNew(); _localStopwatch = new Stopwatch(); _workerThreadResult = workerThreadResult; _httpWorker = new HttpWorker(new HttpWorkerClient(uri), uri); }
internal Task <string> Register(User user) { var req = new HttpRequest("register"); req.AddParameter("username", user.UserName); req.AddParameter("firstname", user.FirstName); req.AddParameter("lastname", user.LastName); req.AddParameter("password", user.Password); return(HttpWorker.RunWorker <string>(req)); }
private void chooseFinishBtn_Click(object sender, EventArgs e) { HttpWorker httpWorker = new HttpWorker(HttpWorker.orderCheckout, httpResponse); JSONObject form = new JSONObject(); form.setString("orderID", configManager.getOrderID()); httpWorker.setData(form); httpWorker.httpWorker(); WaitDialog.show(); }
private SocketWorkerJob(int index, Uri uri, Dictionary <string, string> headers, WorkerThreadResult workerThreadResult) { _index = index; _uri = uri; _headers = headers; _stopwatch = Stopwatch.StartNew(); _localStopwatch = new Stopwatch(); _workerThreadResult = workerThreadResult; _httpWorker = new HttpWorker(new HttpWorkerClient(uri), uri, headers); }
public void ReadResponse() { var client = new FakeHttpWorkerClient("HTTP/1.1 200 OK\r\nDate: Wed, 06 Jul 2016 18:26:27 GMT\r\nContent-Length: 13\r\nContent-Type: text/plain\r\nServer: Kestrel\r\n\r\nHello, World!"); var httpWorker = new HttpWorker(client, new Uri("http://netling.test", UriKind.Absolute)); var length = httpWorker.Read(out var statusCode); Assert.AreEqual(200, statusCode); Assert.AreEqual(132, length); }
private void btnCheck_Click(object sender, EventArgs e) { if (outputText.Text.Length == 0) { FolderBrowserDialog path = new FolderBrowserDialog(); path.ShowDialog(); outputText.Text = path.SelectedPath; } if (outputText.Text.Length == 0) { MessageBox.Show("尚未選擇輸出路徑!"); return; } if (textTestTime.Text.Length == 0 || textUserName.Text.Length == 0 || textUserYearOld.Text.Length == 0 || textWordNum.Text.Length == 0) { MessageBox.Show("欄位都為必填!"); return; } ArrayList list = bluetooth_list.getResult(); if (list.Count == 0) { MessageBox.Show("尚未選擇Device!"); return; } ChromeUtils.closeChrome(); Boolean isclient = checkBoxClient.Checked; if (isclient) { BluetoothDeviceManager manager = (BluetoothDeviceManager)list[0]; string order_id = DateTime.Now.ToString("yyyyMMddHHmmss"); ConfigManager config_manager = new ConfigManager(order_id, outputText.Text, int.Parse(textTestTime.Text), manager, true, isclient, textUserName.Text, textUserYearOld.Text); MessageBox.Show("準備好了?確定後開始測試"); ArrayList formList = new ArrayList(); formList.Add(this); formList.Add(bluetooth_list); new Memory(config_manager, formList); } else { BluetoothDeviceManager manager = (BluetoothDeviceManager)list[0]; HttpWorker httpWorker = new HttpWorker(HttpWorker.orderCreate, httpResponse); JSONObject form = new JSONObject(); form.setString("deviceAddress", manager.getDeviceAddress()); form.setString("userName", textUserName.Text); form.setString("userYearOld", textUserYearOld.Text); form.setString("wordNum", textWordNum.Text); form.setString("testTime", textTestTime.Text); httpWorker.setData(form); httpWorker.httpWorker(); WaitDialog.show(); } }
private async void WatchMatch(VideoPlayer player, Reference reference) { var uri = $"http://192.168.1.37:6878/ace/manifest.m3u8?format=json&id={reference.ContentId}"; var url = await HttpWorker.GetAceStreamUrl <Response>(uri); player.Source = new UriVideoSource { Uri = url?.playback_url }; }
private void getOrderView() { HttpWorker httpWorker = new HttpWorker(HttpWorker.orderView, httpResponse); JSONObject form = new JSONObject(); form.setString("orderID", orderID); form.setString("showTranslate", "true"); httpWorker.setData(form); httpWorker.httpWorker(); WaitDialog.show(); }
/// <summary> /// 获取设置列表 /// </summary> public static void getSetResponse() { string sets = HttpWorker.HttpGet(Global.SetListApi, ""); if (sets == "error") { return; } SetListResponse setListResponse = TranslationWorker.ConvertStringToEntity <SetListResponse>(sets); db.refreshCode(setListResponse.ConvertToCodes()); }
public async Task TestErrorManagement() { HttpWorker worker = Host.Services.GetService <HttpWorker>(); var response = await worker.DoJsonWork <HttpWorkerInput, HttpWorkerOutput>(new HttpWorkerInput { Method = "GET", Uri = new Uri("https://postman-echo.com/status/404"), FailIfError = false }); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); Assert.Null(response.ContentFileToken); }
private bool login() { var tempList = BaseAdapter.getAll <Tb_code>(); if (tempList.Count() == 0) { return(false); } HttpWorker.getUser(txt_username.Text.Trim());//模拟用户获取 //HttpWorker.login(txt_username.Text.Trim(), txt_password.Text.Trim()); //HttpWorker.getUserList(); return(true); }
/// <summary> /// 获取修订列表内容 /// </summary> /// <param name="bookId"></param> /// <returns></returns> public static string getHistory(string bookId) { string result = string.Empty; string historyResult = HttpWorker.HttpGet(Global.HistoryApi, "bookId=" + bookId); if (historyResult == "error") { return(result); } HistoryResponse history = TranslationWorker.ConvertStringToEntity <HistoryResponse>(historyResult); result = string.Join(Environment.NewLine, history.data.list.Select(l => l.version)); return(result); }
/// <summary> /// 获取全部法规列表 /// </summary> public static int getLawResponse() { string laws = HttpWorker.HttpGet(Global.AllBooksApi, "beginTime=" + UTC.ConvertDateTimeInt(new DateTime(2010, 01, 01)).ToString() + "&pageSize=-1"); if (laws == "error") { return(-1); } AllBooksResponse allBookResponse = TranslationWorker.ConvertStringToEntity <AllBooksResponse>(laws); int autoUpdateCount = 0; db.refreshLaw(allBookResponse.ConvertToLaws(), out autoUpdateCount); return(autoUpdateCount); }
private void finishBtn_Click(object sender, EventArgs e) { DialogResult myResult = MessageBox.Show("確定答題完成", "正要交卷,確定已經上傳答案了嗎??", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (myResult == DialogResult.Yes) { HttpWorker httpWorker = new HttpWorker(HttpWorker.orderFinish, httpResponse); JSONObject form = new JSONObject(); form.setString("orderID", configManager.getOrderID()); httpWorker.setData(form); httpWorker.httpWorker(); WaitDialog.show(); } }
/// <summary> /// 提交意见征询 /// </summary> /// <param name="consult"></param> /// <returns></returns> public static string postCommit(ConsultRequest consult) { string result = string.Empty; try { result = HttpWorker.PostStr(Global.ConsultCommitApi, consult.ToJson()); } catch (Exception ex) { MessageBox.Show("提交征询意见失败,请重试。原因:" + ex.Message); } return(result); }
/// <summary> /// 提交评论 /// </summary> /// <param name="opinion"></param> /// <returns></returns> public static string postOpinion(OpinionCommitRequest opinion) { string result = string.Empty; try { //result= HttpWorker.PostJson(Global.OpinionCommitApi, opinion.ToJson()); result = HttpWorker.PostStr(Global.OpinionCommitApi, opinion.ToJson()); } catch (Exception ex) { MessageBox.Show("提交评论失败,请重试。原因:" + ex.Message); } return(result); }
/// <summary> /// 获取某一法规的整体目录 /// </summary> /// <param name="bookId"></param> //public static Tuple<List<Node>, List<Node>> getBookContent(string bookId) //{ // string bookContents = HttpWorker.HttpGet(Global.BookContentApi, "bookId=" + bookId); // BookContentResponse bookContentResponse = TranslationWorker.ConvertStringToEntity<BookContentResponse>(bookContents); // List<Node> nodes = bookContentResponse.ConvertToNodes(); // db.refreshNode(nodes); // List<Node> details = getNodeDetail(nodes.Select(n => n.Id).ToList()); // return new Tuple<List<Node>, List<Node>>(nodes, details); //} /// <summary> /// 获取某一法规的整体目录 /// </summary> /// <param name="bookId"></param> public static List <Node> getBookContent(string bookId) { try { string bookContents = HttpWorker.HttpGet(Global.BookContentApi, "bookId=" + bookId); BookContentResponse bookContentResponse = TranslationWorker.ConvertStringToEntity <BookContentResponse>(bookContents); List <Node> nodes = bookContentResponse.ConvertToNodes(); db.refreshNode(nodes); return(nodes); } catch (Exception) { MessageBox.Show("操作超时"); return(new List <Node>()); } }
private static void RespondWithJwks(IHttpContext context) { List <X509Certificate2> signCerts = new List <X509Certificate2>() { new X509Certificate2("server.pfx", "", X509KeyStorageFlags.Exportable), new X509Certificate2("server2.pfx", "", X509KeyStorageFlags.Exportable) }; List <X509Certificate2> encCerts = new List <X509Certificate2>() { new X509Certificate2("server.pfx", "", X509KeyStorageFlags.Exportable), new X509Certificate2("server2.pfx", "", X509KeyStorageFlags.Exportable) }; Dictionary <string, object> keysDict = KeyManager.GetKeysJwkDict(signCerts, encCerts); string rstring = Serializer.SerializeToJson(keysDict); HttpWorker.WriteTextToResponse(context, rstring); }
private static void DoWork(Uri uri, TimeSpan duration, int? count, int pipelining, ConcurrentQueue<WorkerThreadResult> results, Stopwatch sw, CancellationToken cancellationToken, ManualResetEventSlim resetEvent, int workerIndex) { var result = new WorkerThreadResult(); var sw2 = new Stopwatch(); var sw3 = new Stopwatch(); var worker = new HttpWorker(uri); var current = 0; // To save memory we only track response times from the first 20 workers var trackResponseTime = workerIndex < 20; // Priming connection ... if (!count.HasValue) { try { int tmpStatusCode; if (pipelining > 1) { worker.WritePipelined(pipelining); worker.Flush(); for (var j = 0; j < pipelining; j++) { worker.ReadPipelined(out tmpStatusCode); } } else { worker.Write(); worker.Flush(); worker.Read(out tmpStatusCode); } } catch (Exception) { } } if (pipelining == 1) { while (!cancellationToken.IsCancellationRequested && duration.TotalMilliseconds > sw.Elapsed.TotalMilliseconds && (!count.HasValue || current < count.Value)) { current++; try { sw2.Restart(); worker.Write(); worker.Flush(); int statusCode; var length = worker.Read(out statusCode); result.Add((int)(sw.ElapsedTicks / Stopwatch.Frequency), length, (float) sw2.ElapsedTicks / Stopwatch.Frequency * 1000, statusCode, trackResponseTime); } catch (Exception ex) { result.AddError((int)(sw.ElapsedTicks / Stopwatch.Frequency), (float) sw2.ElapsedTicks / Stopwatch.Frequency * 1000, ex); } } } else { try { sw2.Restart(); worker.WritePipelined(pipelining); worker.Flush(); } catch (Exception ex) { result.AddError((int)(sw.ElapsedTicks / Stopwatch.Frequency), (float)sw2.ElapsedTicks / Stopwatch.Frequency * 1000, ex); } while (!cancellationToken.IsCancellationRequested && duration.TotalMilliseconds > sw.Elapsed.TotalMilliseconds) { try { for (var j = 0; j < pipelining; j++) { int statusCode; var length = worker.ReadPipelined(out statusCode); result.Add((int)Math.Floor((float)sw.ElapsedTicks / Stopwatch.Frequency), length, (float)sw2.ElapsedTicks / Stopwatch.Frequency * 1000, statusCode, trackResponseTime); if (j == 0 && !cancellationToken.IsCancellationRequested && duration.TotalMilliseconds > sw.Elapsed.TotalMilliseconds) { sw3.Restart(); worker.WritePipelined(pipelining); worker.Flush(); } } var tmp = sw2; sw2 = sw3; sw3 = tmp; } catch (Exception ex) { result.AddError((int)(sw.ElapsedTicks / Stopwatch.Frequency), (float)sw2.ElapsedTicks / Stopwatch.Frequency * 1000, ex); } } } results.Enqueue(result); resetEvent.Set(); }