private void OnTextChanged(object sender, EventArgs me) { try { string keyword = ((TextBox)sender).Text; if (keyword.Length >= 2) { VisualizingTools.ShowWaitingAnimation(new Point(this.searchIcon.Left, this.searchBox.Bottom + 5), new Size(this.searchIcon.Width + this.searchBox.Width, this.searchBox.Height / 2), this); BackgroundWorker backgroundWorker = new BackgroundWorker(); backgroundWorker.DoWork += (s, e) => { List <Consumer> matchList = ServerRequest.SearchFriendsByKeyword(Consumer.LoggedIn.Id, keyword); if (matchList.Count > 0) { this.Invoke(new Action(() => { ShowFriendsInPanel(matchList); })); } }; backgroundWorker.RunWorkerCompleted += (s, e) => { backgroundWorker.Dispose(); VisualizingTools.HideWaitingAnimation(); }; backgroundWorker.RunWorkerAsync(); } else { RefreshFriendlist(); } } catch (Exception ex) { Console.WriteLine("Error in firendlist search box : " + ex.Message); } }
public void RefreshFromServerRequest(ServerRequest serverRequest) { User = String.IsNullOrEmpty(serverRequest.UserName) ? User : serverRequest.UserName; RemoteAddr = serverRequest.RemoteAddress ?? ""; Bytes = serverRequest.BytesSent; LastUrl = serverRequest.LastUrl; }
private void OnTextChangeNuntiasTextBox(Object sender, EventArgs eargs) { if (typingStatusSent == null) { return; } TextBox nuntiasBox = (TextBox)sender; string text = nuntiasBox.Text; string sendText = "typing..."; if (text.Length == 0) { sendText = ""; } if (typingStatusSent == true && sendText.Length > 0) { return; } if (typingStatusSent == false && sendText.Length == 0) { return; } typingStatusSent = null; BackgroundWorker loaderWorker = new BackgroundWorker(); loaderWorker.DoWork += (s, e) => { bool success = ServerRequest.SomethingTypingOnConversationFor(this.theConversation.ConversationID, Consumer.LoggedIn.Id, sendText); typingStatusSent = (success && sendText.Length > 0); }; loaderWorker.RunWorkerCompleted += (s, e) => { loaderWorker.Dispose(); }; loaderWorker.RunWorkerAsync(); }
public void EqualsDoesNotMatchesRequestWithDifferentIdentifier() { ServerRequest request1 = new ServerRequest(); ServerRequest request2 = new ServerRequest(); Assert.IsFalse(request1.Equals(request2)); }
public void EqualsDoesNotMatchDifferentTypes() { var request = new ServerRequest(); var different = new object(); Assert.IsFalse(request.Equals(different)); }
public static string CheckUsernameValidity(ref string input) { input = input.ToLower(); if (input.Length < 5) { return("Too short"); } for (int i = 0; i < input.Length; i++) { if (input[i] == ' ') { return("Username contains white space"); } if (!((input[i] >= 'a' && input[i] <= 'z') || (input[i] >= 'A' && input[i] <= 'Z') || input[i] == '_' || (input[i] >= '0' && input[i] <= '9'))) { return("contains invalid characters"); } } if (input.Length > 20) { return("Too long"); } bool?existsOnDatabase = ServerRequest.UsernameAlreadyExists(input); if (existsOnDatabase == true) { return("Username already reserved"); } else if (existsOnDatabase == null) { return("Availability checking failed"); } return(null); }
private void AcceptFriendRequestOf(Consumer consumer, Label addButtonLabel, Panel singleUserPanel) { BackgroundWorker backgroundWorker = new BackgroundWorker(); backgroundWorker.DoWork += (s, e) => { bool?success = ServerRequest.AcceptFriendRequest(consumer.Id, Consumer.LoggedIn.Id); if (success == true) { if (this.InvokeRequired) { this.Invoke(new Action(() => { this.SetAddFriendButton(consumer, singleUserPanel, "friend"); })); } } else { if (success == null) { MessageBox.Show("Database access denied!"); } } }; backgroundWorker.RunWorkerCompleted += (s, e) => { backgroundWorker.Dispose(); }; backgroundWorker.RunWorkerAsync(); }
public async Task <JsonResult> DeleteMessage(CommentViewModel commentViewModel) { var currentUser = _applicationUserService.GetUserById(Guid.Parse(User.Identity.GetUserId())); s_logger.Info("User " + currentUser.Id + " get url " + HttpContext.Request.Url.AbsoluteUri); CommentDTO commentDTO = _commentService.GetById(commentViewModel.Id); commentViewModel.CommentTime = commentDTO.CommentTime; ServerRequest serverRequest = new ServerRequest(); try { if (DateTime.Now < commentViewModel.CommentTime.AddMinutes(10)) { await _commentService.DeleteComment(commentViewModel.Id); serverRequest.Message = "succesful"; return(Json(serverRequest.Message, JsonRequestBehavior.DenyGet)); } else { serverRequest.ErrorOccured = true; serverRequest.Message = "You cannot delete you comment so... late"; return(Json(serverRequest.Message, JsonRequestBehavior.DenyGet)); } } catch { s_logger.Error("Error when user " + currentUser.Id + " try to delete message"); serverRequest.ErrorOccured = true; serverRequest.Message = "error"; return(Json(serverRequest.Message, JsonRequestBehavior.DenyGet)); } }
public async Task <JsonResult> DeleteMessage(CommentViewModel commentViewModel) { CommentDTO commentDTO = _commentService.GetById(commentViewModel.Id); commentViewModel.CommentTime = commentDTO.CommentTime; ServerRequest serverRequest = new ServerRequest(); try { if (DateTime.Now < commentViewModel.CommentTime.AddMinutes(10)) { await _commentService.DeleteComment(commentViewModel.Id); serverRequest.Message = "succesful"; return(Json(serverRequest.Message, JsonRequestBehavior.DenyGet)); } else { serverRequest.ErrorOccured = true; serverRequest.Message = "You cannot delete you comment so... late"; return(Json(serverRequest.Message, JsonRequestBehavior.DenyGet)); } } catch { serverRequest.ErrorOccured = true; serverRequest.Message = "error"; return(Json(serverRequest.Message, JsonRequestBehavior.DenyGet)); } }
/// <summary> /// /// </summary> public void LabelInitialize() { this.enterLoginLabel = new Label(); this.enterLoginLabel.Text = "Enter Password"; Rectangle lbound = this.passwordBox.Bounds; this.enterLoginLabel.Font = CustomFonts.SmallBold; this.enterLoginLabel.ForeColor = Color.FromArgb(120, 120, 120); this.enterLoginLabel.SetBounds(lbound.Left - 5, lbound.Top + 5 - enterLoginLabel.PreferredHeight * 2, enterLoginLabel.PreferredWidth, enterLoginLabel.PreferredHeight); this.Controls.Add(enterLoginLabel); this.forgotPasswordLinkLabel = new LinkLabel(); this.forgotPasswordLinkLabel.Text = "&Forgot Password"; this.forgotPasswordLinkLabel.TextAlign = ContentAlignment.MiddleRight; this.forgotPasswordLinkLabel.Font = CustomFonts.Smaller; this.forgotPasswordLinkLabel.LinkArea = new LinkArea(0, 16); this.forgotPasswordLinkLabel.LinkBehavior = LinkBehavior.NeverUnderline; this.forgotPasswordLinkLabel.Size = this.forgotPasswordLinkLabel.PreferredSize; this.forgotPasswordLinkLabel.Location = new Point(this.loginButton.Left - this.forgotPasswordLinkLabel.Width - 10, this.loginButton.Top); this.forgotPasswordLinkLabel.LinkClicked += delegate(Object sender, LinkLabelLinkClickedEventArgs e) { BackgroundWorker loaderWorker = new BackgroundWorker(); loaderWorker.DoWork += (ss, ee) => { ServerRequest.SendVerificationCodeToResetPassword(); }; loaderWorker.RunWorkerAsync(); loaderWorker.RunWorkerCompleted += (ss, ee) => { loaderWorker.Dispose(); }; this.Visible = false; this.parent.Controls.Add(new UserVerificationPanel(this, "password_reset")); }; this.Controls.Add(forgotPasswordLinkLabel); }
public override Task <ServerReply> Disconnect(ServerRequest request, ServerCallContext context) { if (!TokenAuthentification(context.RequestHeaders, out string clientTokenValue)) { return(Task.FromResult(new ServerReply() { RequestState = true })); } if (!_registredUsers.TryRemove(clientTokenValue, out UserClient userDataInfo)) { return(Task.FromResult(new ServerReply() { RequestState = true })); } // stop stream channel userDataInfo.CancellationTokenSource.Cancel(); userDataInfo.UserState = UserState.None; var reply = new ServerReply { RequestState = true }; return(Task.FromResult(reply)); }
private void btn_click(object sender, EventArgs e) { ServerRequest sr = new ServerRequest(); var callback = new ServerRequest.CallBackFunction(CallbackFunc); sr.DoRequest("myrequest", callback); }
public static async Task Execute(ConnectionManager connectionManager, List <string> serverLines, string servers, string partitions) { List <AsyncUnaryCall <Empty> > asyncUnaryCalls = new List <AsyncUnaryCall <Empty> >(); foreach (string line in serverLines) { string[] serverLineSplit = line.Split(" "); PCS pcs = connectionManager.GetPCS(connectionManager.GetPCSUrlFromAnUrl(serverLineSplit[1])); ServerRequest serverRequest = new ServerRequest() { ServerId = serverLineSplit[0], Url = serverLineSplit[1], MinDelay = int.Parse(serverLineSplit[2]), MaxDelay = int.Parse(serverLineSplit[3]), NetworkConfiguration = servers + partitions }; asyncUnaryCalls.Add(pcs.Stub.ServerAsync(serverRequest)); } List <Empty> statusReplies = new List <Empty>(); foreach (AsyncUnaryCall <Empty> request in asyncUnaryCalls) { statusReplies.Add(await request.ResponseAsync); } }
public IDisposable Start(IServerInformation serverInformation, Func<IFeatureCollection, Task> application) { var disposables = new List<IDisposable>(); var information = (ServerInformation)serverInformation; var engine = new KestrelEngine(_libraryManager, _appShutdownService); engine.Start(1); foreach (var address in information.Addresses) { disposables.Add(engine.CreateServer( address.Scheme, address.Host, address.Port, async frame => { var request = new ServerRequest(frame); await application.Invoke(request.Features); })); } disposables.Add(engine); return new Disposable(() => { foreach (var disposable in disposables) { disposable.Dispose(); } }); }
static bool ShowLoading = false;//是否顯示loading /// <summary> /// 初始化 /// </summary> public void Init() { switch (Application.platform) { case RuntimePlatform.Android: Debug.Log("Android"); IsFormal = true; break; case RuntimePlatform.IPhonePlayer: Debug.Log("IPhonePlayer"); IsFormal = true; break; case RuntimePlatform.WindowsEditor: Debug.Log("WindowsEditor"); IsFormal = true; break; case RuntimePlatform.OSXEditor: Debug.Log("OSXEditor"); IsFormal = false; break; default: Debug.Log("default"); IsFormal = true; break; } IsFormal = true; Conn = this; //切場景不移除物件 DontDestroyOnLoad(gameObject); }
public ServerResponse Client(int msgCount, ServerRequest request) { lock (_syncObject) { if (request.Map.Cells != null) { Map = request.Map; _lastMapUpdate = DateTime.Now; } else if (Map == null) { return(new ServerResponse { ClientCommand = ClientCommandType.UpdateMap }); } Map.InteractObjects = request.Map.InteractObjects; _msgCount = msgCount; _wasUpdate = true; return(new ServerResponse { ClientCommand = ClientCommandType.None }); } }
public void InvokeRequestCallback(ServerRequest serverRequest) { if (serverRequest.isDone) { if (serverRequest.data.IsNotNull()) { DebugModeLog(serverRequest); DataParser(serverRequest.data); return; } } int code; string message; if (serverRequest.error.IsNotNull()) { code = serverRequest.error.code; message = serverRequest.error.message; if (HasErrorCodeInActionHandleErrorCodeDict(code)) { actionHandleErrorCodeDict[code](code, message); } } else { code = API_Code.ERROR_CODE; message = API_Code.messageDic[API_Code.ERROR_CODE]; } OnRequestDataFailed(code, message); }
/// <summary> /// Called every time the web server sends a response to a request. Uses this information to update /// the <see cref="_ServerRequests"/> list. /// </summary> /// <param name="remoteEndPoint"></param> /// <param name="url"></param> /// <param name="bytesSent"></param> /// <param name="userName"></param> private void UpdateServerRequestEntry(IPEndPoint remoteEndPoint, string url, long bytesSent, string userName) { if (bytesSent > 0) { ServerRequest serverRequest = null; _ServerRequestsSpinLock.Lock(); try { serverRequest = _ServerRequests.FirstOrDefault(r => { return /* showPortNumber ? r.RemoteEndPoint.Equals(remoteEndPoint) :*/ (r.RemoteEndPoint.Address.Equals(remoteEndPoint.Address)); }); if (serverRequest == null) { serverRequest = new ServerRequest() { RemoteEndPoint = remoteEndPoint, }; _ServerRequests.Add(serverRequest); } } finally { _ServerRequestsSpinLock.Unlock(); } ++serverRequest.DataVersion; serverRequest.LastRequest = _Clock.UtcNow; serverRequest.BytesSent += bytesSent; serverRequest.LastUrl = url; serverRequest.UserName = userName; } }
private void btn_click(object sender, EventArgs e) { ServerRequest sr = new ServerRequest(); sr.Callback += new ServerRequest.CallbackEventHandler(sr_Callback); sr.DoRequest("myrequest"); }
/// <summary> /// Sends a message to a remote server asychronously. /// </summary> /// <param name="action">The action to perform.</param> /// <param name="request">The request to send to the server.</param> /// <param name="userState">Any user state data.</param> /// <remarks> /// This operation will still be done in a synchronous mode. /// </remarks> public virtual void SendMessageAsync(string action, ServerRequest request, object userState) { if (isBusy) { throw new InvalidOperationException(); } try { isBusy = true; InitialiseRemoting(); Response result = client.ProcessMessage(action, request); if (SendMessageCompleted != null) { MessageReceivedEventArgs args = new MessageReceivedEventArgs(result, null, false, userState); SendMessageCompleted(this, args); } } catch (Exception error) { if (SendMessageCompleted != null) { MessageReceivedEventArgs args = new MessageReceivedEventArgs(null, error, false, userState); SendMessageCompleted(this, args); } } finally { isBusy = false; } }
/// <summary> /// Fires the <see cref="RequestSending"/> event. /// </summary> /// <param name="action">The action that is being sent.</param> /// <param name="request">The request that is being sent.</param> protected virtual void FireRequestSending(string action, ServerRequest request) { if (RequestSending != null) { RequestSending(this, new CommunicationsEventArgs(action, request)); } }
/// <summary> /// Sends a message to a remote server. /// </summary> /// <param name="action">The action to perform.</param> /// <param name="request">The request to send to the server.</param> /// <returns>The response from the server.</returns> public Response SendMessage(string action, ServerRequest request) { // Make sure there is a password if ((cryptoKey.Length == 0) || (cryptoIv.Length == 0)) { InitialisePassword(); } // Generate the encrypted request var encryptedRequest = new EncryptedRequest(); encryptedRequest.Action = action; var crypto = new RijndaelManaged(); crypto.Key = cryptoKey; crypto.IV = cryptoIv; encryptedRequest.EncryptedData = EncryptMessage(crypto, request.ToString()); // Send the request var response = innerConnection.SendMessage("ProcessSecureRequest", encryptedRequest); var encryptedResponse = response as EncryptedResponse; // Generate the actual response if ((response.Result == ResponseResult.Success) && (encryptedResponse != null)) { var data = DecryptMessage(crypto, encryptedResponse.EncryptedData); response = XmlConversionUtil.ProcessResponse(data); } return(response); }
public void OpenTowerPanel(bool isSuccess) { isRequest = isSuccess; if (this.gameObject.activeSelf) { PanelStatic.StaticBtnGameManager.RunOpenLoading(() => ServerRequest.requestTowerOpen()); } else { PanelStatic.StaticBtnGameManagerBack.UICL.SendMessage("ShowTowerPanel", SendMessageOptions.RequireReceiver); } if (!isSuccess) { skipChallengeBtn.isEnabled = false; startChallengeBtn.isEnabled = false; flashSprite.GetComponent <UISprite>().enabled = false; flashSprite.SetActive(false); rewardLeaveBtn.isEnabled = true; tempLeaveBtn.isEnabled = true; } else { startChallengeTxt.text = StaticLoc.Loc.Get("info1150"); // 继续挑战 startChallengeBtn.isEnabled = true; flashSprite.GetComponent <UISprite>().enabled = true; flashSprite.SetActive(true); } }
public bool SendMyPublicKey(InfoClients infoClients) { bool result = false; FileWriter.WriteOnEvents(EventLevel.Info, "Llamado al servidor para entrega de llave privada."); try { ServerRequest callPartner = new ServerRequest(parameters.Value.EndpointServer, parameters.Value.RequestKeyPartner, parameters.Value.GetRequest); HttpStatusCode resultCode = new HttpStatusCode(); Task <HttpStatusCode> response = callPartner.RequestPartnerKey(infoClients); response.ContinueWith(task => { resultCode = task.Result; }, TaskContinuationOptions.OnlyOnRanToCompletion); //Check the response values, if isn´t success set false if (resultCode.Equals(HttpStatusCode.NotFound)) { FileWriter.WriteOnEvents(EventLevel.Atention, "Respuesta no satisfactoria. resultCode:" + resultCode); result = false; } else { FileWriter.WriteOnEvents(EventLevel.Info, "Llave enviada de forma satisfactoria. resultCode:" + resultCode); result = true; } } catch (System.Exception ex) { FileWriter.WriteOnEvents(EventLevel.Exception, "Excepcion en GeneratekeyEncrypts. " + ex.Message); result = false; } return(result); }
public void NotAWebSocketRequestThrowsSynchronously() { var env = new Dictionary <string, object>(); var request = new ServerRequest(env); Assert.Throws <InvalidOperationException>(() => request.AcceptWebSocketRequest(socket => TaskAsyncHelper.Empty)); }
public void getOtherBet(ServerRequest req) { Console.Write(req.Team + " "); Bet other = req.Mybet; if (other.Pass) { pass++; } else { pass = 0; } if (other.Pass) { Console.WriteLine(" pass"); } else if (other.Coinche) { Console.WriteLine(" coinche"); coinche = true; } else if (other.Surcoinche) { Console.WriteLine(" surcoinche"); } else { this.maxbet = other.Bet1 + 10; Console.WriteLine("bet " + other.Color.Name + " " + other.Bet1); } }
public async Task <ActionResult> UploadFile(OrderViewModel order) { var currentUser = _applicationUserService.GetUserById(Guid.Parse(User.Identity.GetUserId())); FileViewModel fileViewModel = new FileViewModel(); HttpPostedFileBase file = Request.Files[0]; fileViewModel.OrderId = order.Id; fileViewModel.FileName = Path.GetFileName(file.FileName); fileViewModel.FileType = file.ContentType; using (var binaryReader = new BinaryReader(file.InputStream)) { fileViewModel.Data = binaryReader.ReadBytes(file.ContentLength); } FileDTO.FileDTO fileDTO = _mapper.Map <FileViewModel, FileDTO.FileDTO>(fileViewModel); ServerRequest result = await _fileStorageService.UploadFileAsync(fileDTO); if (!result.ErrorOccured) { s_logger.Info("User " + currentUser.Id + " upload file "); return(RedirectToAction("GetTakenOrders", "Musician")); } else { s_logger.Error("Error when user " + currentUser.Id + " try to upload file "); ViewBag.Error = result.Message; return(RedirectToAction("GetTakenOrders", "Musician")); } }
/// <summary> /// Make a request to the Vélib Service by specifying the type of request /// </summary> /// <param name="requestType"> the server request </param> /// <param name="cityName"> the city name </param> /// <param name="stationNumber"> the station name </param> /// <returns> the string (response) sent by the Service </returns> private string GetResponseFromServer(ServerRequest requestType, string cityName = "", int stationNumber = 0) { WebRequest request = null; switch (requestType) { case ServerRequest.GetCitiesRequest: request = WebRequest.Create(_URIBuilder.GenerateURI(ServerRequest.GetCitiesRequest, _APIKey)); break; case ServerRequest.GetStationsOfCityRequest: request = WebRequest.Create(_URIBuilder.GenerateURI(ServerRequest.GetStationsOfCityRequest, _APIKey, cityName)); break; case ServerRequest.GetStationsRequest: request = WebRequest.Create(_URIBuilder.GenerateURI(ServerRequest.GetStationsRequest, _APIKey)); break; case ServerRequest.GetStationInformationRequest: request = WebRequest.Create(_URIBuilder.GenerateURI(ServerRequest.GetStationInformationRequest, _APIKey, cityName, stationNumber)); break; default: break; } WebResponse response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); return(reader.ReadToEnd()); }
public HostContext(IDictionary <string, object> environment) { Request = new ServerRequest(environment); Response = new ServerResponse(environment); Environment = environment; }
public Task Invoke(IDictionary <string, object> env) { var request = new ServerRequest(env); var response = new Gate.Response(env); if (!request.Url.Scheme.Equals("https", StringComparison.OrdinalIgnoreCase)) { var builder = new UriBuilder(request.Url); builder.Scheme = "https"; if (request.Url.IsDefaultPort) { builder.Port = -1; } response.SetHeader("Location", builder.ToString()); response.StatusCode = 302; return(TaskAsyncHelper.Empty); } else { return(_next(env)); } }
public static bool IsSkyTrakCall(this ServerRequest request) { switch (request) { case ServerRequest.RegisterSkytrak: case ServerRequest.AddShots: case ServerRequest.GetSessionObj: case ServerRequest.GetRemoteSessionObj: case ServerRequest.GetSessionsList: case ServerRequest.GetRemoteSessionData: case ServerRequest.GetChallengeScores: case ServerRequest.UpdateChallengeScores: case ServerRequest.UpdateActivity: case ServerRequest.UpdateSession: case ServerRequest.UpdateUser: case ServerRequest.GetCustomerEsns: case ServerRequest.GetAppVersion: { return(true); } case ServerRequest.GetSessionGuid: case ServerRequest.GetUserInfo: case ServerRequest.CreateAccount: case ServerRequest.ResetPassword: { return(false); } } throw new NotSupportedException(string.Format("Request type {0} is not supported", request)); }
public Task<ServerResponse> ProcessRequest(ServerRequest request) { string collectionName = request.Route.Parameters["collectionName"]; DataCollection collection = _dataSpace.GetCollection(collectionName); if (collection == null) { return Deferred.Create<ServerResponse>(ServerResponse.NotFound).Task; } DataRequest dataRequest = CreateDataRequest(request, collection); if ((dataRequest == null) || (collection.SupportsRequest(dataRequest) == false)) { return Deferred.Create<ServerResponse>(ServerResponse.MethodNotAllowed).Task; } if ((dataRequest.Operation != DataOperation.Query) && String.IsNullOrEmpty(dataRequest.Query.ID)) { ServerResponse response = ServerResponse.CreateRequestError("Missing id parameter."); return Deferred.Create<ServerResponse>(response).Task; } if ((dataRequest.Operation == DataOperation.Insert) || (dataRequest.Operation == DataOperation.Update) || (dataRequest.Operation == DataOperation.Merge)) { Deferred<ServerResponse> deferred = Deferred.Create<ServerResponse>(); request.GetData().ContinueWith(delegate(Task<object> dataTask) { if (dataTask.Status == TaskStatus.Failed) { deferred.Reject(dataTask.Error); return; } Task<ServerResponse> executeTask = null; try { dataRequest.Item = (Dictionary<string, object>)dataTask.Result; executeTask = ExecuteRequest(collection, dataRequest); } catch (Exception e) { deferred.Resolve(ServerResponse.CreateServerError(e.Message)); return; } executeTask.ContinueWith(delegate(Task<ServerResponse> t) { if (t.Status == TaskStatus.Done) { deferred.Resolve(t.Result); } else { deferred.Resolve(ServerResponse.CreateServerError(t.Error.Message)); } }); }); return deferred.Task; } else { return ExecuteRequest(collection, dataRequest); } }
public Task<ServerResponse> ProcessRequest(ServerRequest request) { string controllerName = request.Route.Parameters["controllerName"]; Controller controller = _endpoints.GetController(controllerName); if (controller == null) { return Deferred.Create<ServerResponse>(ServerResponse.NotFound).Task; } ApiRequest apiRequest = new ApiRequest(controller, request.HttpRequest.Method, request.Route.Parameters["actionName"], (Dictionary<string, string>)request.HttpRequest.Headers, request.UrlData.Query); if (controller.SupportsRequest(apiRequest) == false) { return Deferred.Create<ServerResponse>(ServerResponse.MethodNotAllowed).Task; } if ((request.HttpRequest.Method == HttpVerb.POST) || (request.HttpRequest.Method == HttpVerb.PUT)) { Deferred<ServerResponse> deferred = Deferred.Create<ServerResponse>(); request.GetData().ContinueWith(delegate(Task<object> dataTask) { if (dataTask.Status == TaskStatus.Failed) { deferred.Reject(dataTask.Error); return; } Task<ServerResponse> executeTask; try { apiRequest.Data = dataTask.Result; executeTask = ExecuteRequest(controller, apiRequest); } catch (Exception e) { deferred.Resolve(ServerResponse.CreateServerError(e.Message)); return; } executeTask.ContinueWith(delegate(Task<ServerResponse> t) { if (t.Status == TaskStatus.Done) { deferred.Resolve(t.Result); } else { deferred.Resolve(ServerResponse.CreateServerError(t.Error.Message)); } }); }); return deferred.Task; } else { return ExecuteRequest(controller, apiRequest); } }
public Task Invoke(IDictionary<string, object> env) { var serverRequest = new ServerRequest(env); var serverResponse = new ServerResponse(env); var hostContext = new HostContext(serverRequest, serverResponse); var origins = serverRequest.RequestHeaders.GetHeaders("Origin"); if (origins != null && origins.Any(origin => !String.IsNullOrEmpty(origin))) { serverResponse.ResponseHeaders["Access-Control-Allow-Origin"] = origins; serverResponse.ResponseHeaders["Access-Control-Allow-Credentials"] = AllowCredentialsTrue; } hostContext.Items[HostConstants.SupportsWebSockets] = env.ContainsKey(OwinConstants.WebSocketSupport); serverRequest.DisableRequestBuffering(); serverResponse.DisableResponseBuffering(); _connection.Initialize(_resolver, hostContext); return _connection.ProcessRequestAsync(hostContext); }
private DataRequest CreateDataRequest(ServerRequest serverRequest, DataCollection collection) { DataOperation operation; string id = serverRequest.UrlData.Query["id"]; string partition = serverRequest.UrlData.Query["partition"]; string operationName = serverRequest.Route.Parameters["operationName"]; switch (serverRequest.HttpRequest.Method) { case HttpVerb.GET: if (String.IsNullOrEmpty(id) == false) { operation = DataOperation.Lookup; } else { operation = DataOperation.Query; } break; case HttpVerb.POST: if (String.IsNullOrEmpty(operationName)) { operation = DataOperation.Update; } else { operation = DataOperation.Execute; } break; case HttpVerb.PUT: operation = DataOperation.Insert; break; case HttpVerb.DELETE: operation = DataOperation.Delete_; break; default: return null; } DataRequest dataRequest = new DataRequest(operation, operationName, serverRequest.UrlData.Query); dataRequest.Query = new DataQuery(collection, id); dataRequest.Partition = partition; return dataRequest; }
private void PerformServerRequest(ServerRequest request) { //a long laundry list switch (request) { case ServerRequest.MERLIN: case ServerRequest.PERCIVAL: case ServerRequest.MORDRED: case ServerRequest.MORGANA: case ServerRequest.ASSASSIN: case ServerRequest.OBERON: case ServerRequest.SERVANT_OF_ARTHUR: case ServerRequest.MINION_OF_MORDRED: lock (LockMe) { Player.Card = (PlayingCards)Enum.Parse(typeof(PlayingCards), request.ToString()); this.Invoke((MethodInvoker)delegate { cardValue.Text = Player.Card.ToString(); switch (Player.Card) { case PlayingCards.MERLIN: RolePicture = global::AvalonClient.Properties.Resources.Merlin; break; case PlayingCards.MORDRED: RolePicture = global::AvalonClient.Properties.Resources.Mordred; break; case PlayingCards.MORGANA: RolePicture = global::AvalonClient.Properties.Resources.Morgana; break; case PlayingCards.OBERON: RolePicture = global::AvalonClient.Properties.Resources.Oberon; break; case PlayingCards.ASSASSIN: RolePicture = global::AvalonClient.Properties.Resources.Assassin; break; case PlayingCards.PERCIVAL: RolePicture = global::AvalonClient.Properties.Resources.Galahad; break; case PlayingCards.SERVANT_OF_ARTHUR: { List<Bitmap> servants = new List<Bitmap>(); servants.Add(global::AvalonClient.Properties.Resources.Lancelot); servants.Add(global::AvalonClient.Properties.Resources.Bedevere); servants.Add(global::AvalonClient.Properties.Resources.Patsy); servants.Add(global::AvalonClient.Properties.Resources.King_Arthur); int random = new Random().Next(0, servants.Count); RolePicture = servants[random]; } break; case PlayingCards.MINION_OF_MORDRED: { List<Bitmap> minions = new List<Bitmap>(); minions.Add(global::AvalonClient.Properties.Resources.Nee); minions.Add(global::AvalonClient.Properties.Resources.Rabbit); int random = new Random().Next(0, minions.Count); RolePicture = minions[random]; } break; default: break; } cardValue.Text = Player.Card.ToString().Replace("_", " "); }); } break; case ServerRequest.CHOOSE_TEAM: { PickTeam pickTeam = new PickTeam(MaxPlayersInTeam, PlayersPlaying); pickTeam.TopLevel = false; pickTeam.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; pickTeam.Dock = DockStyle.Fill; this.Invoke((MethodInvoker)delegate { infoPanel.Controls.Add(pickTeam); pickTeam.Show(); }); while (pickTeam.DialogResult == System.Windows.Forms.DialogResult.None) { Thread.Sleep(1000); } string team = "TEAM "; foreach (String name in pickTeam.PlayersGoingOnMission) { team += name + ";"; } this.Invoke((MethodInvoker)delegate { pickTeam.Close(); infoPanel.Controls.Remove(pickTeam); }); TcpClient.SendMessage(team + "\n"); } break; case ServerRequest.MISSION_VOTE_FAILS: DisplayOutcome(!(FailedVotesInRound >= NeededFailVotes)); break; case ServerRequest.EVIL_WIN: break; case ServerRequest.FIND_MERLIN: break; case ServerRequest.GOOD_WIN: break; case ServerRequest.KILL_MERLIN: { List<string> names = new List<string>(); foreach (Players player in PlayersPlaying) { if (player.Name != Player.Name && (player.Card != PlayingCards.MINION_OF_MORDRED && player.Card != PlayingCards.ASSASSIN && player.Card != PlayingCards.MORDRED && player.Card != PlayingCards.MORGANA && player.Card != PlayingCards.OBERON)) { names.Add(player.Name); } } PickMerlin pickMerlin = new PickMerlin(names); pickMerlin.TopLevel = false; pickMerlin.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; pickMerlin.Dock = DockStyle.Fill; this.Invoke((MethodInvoker)delegate { infoPanel.Controls.Add(pickMerlin); pickMerlin.Show(); }); while (pickMerlin.DialogResult == System.Windows.Forms.DialogResult.None) { Thread.Sleep(1000); } var index = ((ListBox)pickMerlin.Controls["playerListValue"]).SelectedIndex; this.Invoke((MethodInvoker)delegate { pickMerlin.Close(); infoPanel.Controls.Remove(pickMerlin); }); TcpClient.SendMessage(names[index] + "\n"); } break; case ServerRequest.LADY_OF_THE_LAKE: break; case ServerRequest.MERLIN_KILLED: MerlinOutcome merlinOutcome = new MerlinOutcome(MerlinKilled); merlinOutcome.Show(); break; case ServerRequest.TEAM_VOTE: { while (PlayersOnTeam == null || PlayersOnTeam.Count == 0) { Thread.Sleep(1000); } bool result = false; TeamVote teamVote = new TeamVote(PlayersOnTeam); teamVote.TopLevel = false; teamVote.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; teamVote.Dock = DockStyle.Fill; this.Invoke((MethodInvoker)delegate { infoPanel.Controls.Add(teamVote); teamVote.Show(); }); while (teamVote.DialogResult == System.Windows.Forms.DialogResult.None) { Thread.Sleep(1000); if (teamVote.DialogResult == System.Windows.Forms.DialogResult.Yes) { result = true; } } this.Invoke((MethodInvoker)delegate { teamVote.Close(); infoPanel.Controls.Remove(teamVote); }); TcpClient.SendMessage(result.ToString() + "\n"); } break; case ServerRequest.REQUEST_NAME: Player.Name = nameValue.Text; TcpClient.SendMessage(nameValue.Text); break; case ServerRequest.RESET_MATCH: SetTeamSelectionRound(1); MoveVotePouch(true); SetRound(); ClearPlayerCards(); break; case ServerRequest.PLAYERS_IN_GAME: UpdatePlayersPanel(); break; case ServerRequest.RESET_TEAM_SELECTION_ROUND: SetTeamSelectionRound(1); MoveVotePouch(true); break; case ServerRequest.REVEAL_PLAYERS: break; case ServerRequest.TEAM_APPROVED: DisplayTeamVote(true); MoveVotePouch(true); break; case ServerRequest.TEAM_REJECTED: DisplayTeamVote(false); MoveVotePouch(); break; case ServerRequest.UPDATE_SCORES: break; case ServerRequest.VOTE_MISSION: VoteForMission(); break; default: break; } }
private ServerRequest CreateExtensionRequest(string commandId, string successCallback, JSONObject jsonData = null) { if (jsonData == null) { jsonData = new JSONObject(); } ISFSObject requestData = CreateExtensionObject(jsonData); ServerRequest serverRequest = new ServerRequest(ServerRequest.Type.EXTENSION, Command.Create(GameId.USER, commandId), requestData, gameObject, successCallback); return serverRequest; }
public static void Queue(ServerRequest request) { requests.Add(request); }
public static void QueueOnTop(ServerRequest request) { requests.Insert(0, request); }
private ServerRequest CreatePublicMessageRequest(string commandId, string successCallback, JSONObject jsonData = null) { if (jsonData == null) { jsonData = new JSONObject(); } ISFSObject requestData = CreatePublicMessageObject(jsonData, commandId); ServerRequest serverRequest = new ServerRequest(ServerRequest.Type.PUBLIC_MESSAGE, Command.Create(GameId.USER, commandId), requestData, gameObject, successCallback); return serverRequest; }
/// <summary> /// Retrieves information about available updates. /// </summary> /// <returns>The update information returned by the server, or null if the request failed.</returns> public static UpdateInfo GetUpdateInfo() { var updateCommand = new ServerRequest("update_asm"); return AssemblyServer.SendRequest<ServerRequest, UpdateInfo>(updateCommand); }
private ServerRequest CreateExtensionRequest(string commandId, JSONObject jsonData = null) { if (jsonData == null) { jsonData = EMPTY_JSON_OBJECT; } ISFSObject requestData = CreateExtensionObject(jsonData); ServerRequest serverRequest = new ServerRequest(ServerRequest.Type.EXTENSION, Command.Create(GameId.TLMB, commandId), requestData, gameObject, "OnExtensionCallback"); return serverRequest; }