/// <summary> /// This request is used to close the Connection object in the Phoenix query server identified by the given IDs. /// </summary> public async Task <CloseConnectionResponse> CloseConnectionRequestAsync(string connectionId, RequestOptions options) { CloseConnectionRequest req = new CloseConnectionRequest { ConnectionId = connectionId }; WireMessage msg = new WireMessage { Name = Constants.WireMessagePrefix + "CloseConnectionRequest", WrappedMessage = req.ToByteString() }; using (Response webResponse = await PostRequestAsync(msg.ToByteArray(), options)) { if (webResponse.WebResponse.StatusCode != HttpStatusCode.OK) { WireMessage output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream()); ErrorResponse res = ErrorResponse.Parser.ParseFrom(output.WrappedMessage); throw new WebException( string.Format( "CloseConnectionRequestAsync failed! connectionId: {0}, Response code was: {1}, Response body was: {2}", connectionId, webResponse.WebResponse.StatusCode, res.ToString())); } else { WireMessage output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream()); CloseConnectionResponse res = CloseConnectionResponse.Parser.ParseFrom(output.WrappedMessage); return(res); } } }
public async Task <IActionResult> CloseConnection([FromQuery] CloseConnectionRequest request) { var response = await mediator.Send(request); Log.Information($"User #{HttpContext.GetCurrentUserId()} closed their connection in hub: {request.HubName}"); return(this.CreateResponse(response)); }
public async Task <IActionResult> CloseConnection([FromQuery] CloseConnectionRequest request) { var response = await mediator.Send(request); logger.LogResponse($"User #{HttpContext.GetCurrentUserId()} closed SignalR connection #{request.ConnectionId}", response.Error); return(response.IsSucceeded ? (IActionResult)Ok(response) : BadRequest(response)); }
/// <summary> /// This request is used to close the Connection object in the Phoenix query server identified by the given IDs. /// </summary> public async Task<CloseConnectionResponse> CloseConnectionRequestAsync(string connectionId, RequestOptions options) { CloseConnectionRequest req = new CloseConnectionRequest { ConnectionId = connectionId }; WireMessage msg = new WireMessage { Name = Constants.WireMessagePrefix + "CloseConnectionRequest", WrappedMessage = req.ToByteString() }; using (Response webResponse = await PostRequestAsync(msg.ToByteArray(), options)) { if (webResponse.WebResponse.StatusCode != HttpStatusCode.OK) { WireMessage output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream()); ErrorResponse res = ErrorResponse.Parser.ParseFrom(output.WrappedMessage); throw new WebException( string.Format( "CloseConnectionRequestAsync failed! connectionId: {0}, Response code was: {1}, Response body was: {2}", connectionId, webResponse.WebResponse.StatusCode, res.ToString())); } else { WireMessage output = WireMessage.Parser.ParseFrom(webResponse.WebResponse.GetResponseStream()); CloseConnectionResponse res = CloseConnectionResponse.Parser.ParseFrom(output.WrappedMessage); return res; } } }