Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
 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));
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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;
 }