public GetCursorResponse GetCursor(GetCursorRequest request) { using (ServiceRequest sReq = new ServiceRequest()) { sReq.Method = HttpMethod.Get; sReq.Endpoint = BuildReqEndpoint(request); sReq.ResourcePath = LogConsts.RESOURCE_LOGSTORES + LogConsts.RESOURCE_SEPARATOR + request.Logstore + LogConsts.RESOURCE_SHARDS + LogConsts.RESOURCE_SEPARATOR + request.Shard; FillCommonHeaders(sReq); FillCommonParameters(sReq); request.AddSpecHeadersTo(sReq.Headers); request.AddSpecParamsTo(sReq.Parameters); ExecutionContext context = new ExecutionContext(); context.Signer = new LogRequestSigner(sReq.ResourcePath, HttpMethod.Get); context.Credentials = new ServiceCredentials(this.AccessKeyId, this.AccessKey); using (ServiceResponse response = serviceClient.Send(sReq, context)) { LogClientTools.ResponseErrorCheck(response, context.Credentials); JObject body = LogClientTools.ParserResponseToJObject(response.Content); GetCursorResponse getCursorResp = new GetCursorResponse(response.Headers, body.GetValue("cursor").ToString()); return(getCursorResp); } } }
public Task <IResponse <GetCursorResult> > GetCursorAsync(GetCursorRequest request) { return(SendRequestAsync <GetCursorResult>( new HttpRequestMessageBuilder(HttpMethod.Get, $"/logstores/{request.LogstoreName}/shards/{request.ShardId}") .Query("type", "cursor") .Query("from", request.From), project: request.ProjectName)); }
public UpdateCursorRequest GetSessionCursor(GetCursorRequest request) { var connectionId = Context.ConnectionId; var instance = ListenerManager.GetInstance(); if (instance.IsListener(connectionId)) { var info = instance.GetConnectionInfo(connectionId); var roomInstance = RoomManager.GetInstance(); var room = roomInstance.GetRoomInfo(info.RoomId); return(room?.GetSession(request.Id)?.GetCursor() ?? null); } return(null); }
public UpdateCursorRequest GetSessionCursor(GetCursorRequest request) { var connectionId = Context.ConnectionId; var instance = ListenerManager.GetInstance(); if (instance.IsListener(connectionId)) { var info = instance.GetConnectionInfo(connectionId); var roomInstance = RoomManager.GetInstance(); var room = roomInstance.GetRoomInfo(info.RoomId); return room?.GetSession(request.Id)?.GetCursor() ?? null; } return null; }