public async Task <SessionResponseModel> CreateSesion() { client = _clientServices.GetClient(); requestModel = new SessionRequestModel(); string useragent = context.Request.Headers["User-Agent"]; UserAgent ua = new UserAgent(useragent); requestModel.type = 1; requestModel.browser = new SessionRequestModel.Browser() { name = ua.Browser.Name, version = ua.Browser.Version }; if (env.IsDevelopment()) { requestModel.connection = new SessionRequestModel.Connection() { ip_address = "145.214.41.21", port = _config.Port }; } else { requestModel.connection = new SessionRequestModel.Connection() { ip_address = FindIpAddress().ToString(), port = _config.Port }; } var request = new HttpRequestMessage(HttpMethod.Post, "/api/client/getsession"); var payload = JsonConvert.SerializeObject(requestModel); HttpContent content = new StringContent(payload, Encoding.UTF8, "application/json"); request.Content = content; var response = await client.SendAsync(request); var resultContent = await response.Content.ReadAsStringAsync(); SessionResponseModel sessionResponseModel = JsonConvert.DeserializeObject <SessionResponseModel>(resultContent); return(sessionResponseModel); }
private static void RunSessionSamples() { output.AppendLine("\n Session Samples \n"); var req = new SessionRequestModel { LockDelay = "30m", Name = "raja-session", Checks = new List <string> { "serfHealth" }, TimeToLive = "29m", Node = Environment.MachineName }; var create = _consulClient.V1.Session.CreateAsync(new ConsulRequest <SessionRequestModel> { RequestData = req }).Result; DisplayJson(create); Assert.NotNull(create.Data); var reads = _consulClient.V1.Session.ReadAsync(new ConsulRequest <SessionReadModel> { RequestData = new SessionReadModel { SessionId = create.Data } }).Result; DisplayJson(reads); Assert.True(reads.Data.Count == 1); Assert.True(reads.Data[0].SessionId == create.Data); var nodereads = _consulClient.V1.Session.ReadNodeSessionsAsync(new ConsulRequest <NodeSessionReadModel> { RequestData = new NodeSessionReadModel { Node = reads.Data[0].Node } }).Result; DisplayJson(nodereads); Assert.True(nodereads.Data.Count == 1); Assert.True(nodereads.Data[0].SessionId == create.Data); var allsessions = _consulClient.V1.Session.ListAsync().Result; DisplayJson(allsessions); Assert.True(allsessions.Data.Count == 1); Assert.True(allsessions.Data[0].SessionId == create.Data); var renew = _consulClient.V1.Session.RenewAsync(new ConsulRequest <RenewSessionRequestModel> { RequestData = new RenewSessionRequestModel { SessionId = create.Data } }).Result; DisplayJson(renew); Assert.True(renew.Data.Count == 1); Assert.True(renew.Data[0].SessionId == create.Data); var delete = _consulClient.V1.Session.DeleteAsync(new ConsulRequest <SessionDeleteModel> { RequestData = new SessionDeleteModel { SessionId = create.Data } }).Result; DisplayJson(delete); Assert.True(delete.Data); }