string getApiEndPoint() { var requestEnvelop = new RequestEnvelop(); requestEnvelop.Requests.Add(new Request() { Type = Method.GetPlayer }); var responseEnvelop = apiRequest("https://pgorelease.nianticlabs.com/plfe/rpc", requestEnvelop); return(responseEnvelop.ApiUrl); }
public ClientPlayerDetails getPlayerDetails() { var requestEnvelop = new RequestEnvelop(); requestEnvelop.Requests.Add(new Request() { Type = Method.GetPlayer }); var responseEnvelop = apiRequest(m_apiEndPoint, requestEnvelop); var messageParser = new MessageParser <ClientPlayerDetails>(() => { return(new ClientPlayerDetails()); }); return(messageParser.ParseFrom(responseEnvelop.Payload[0].Data.ToByteArray())); }
public InventoryResponseProto getInventory() { var requestEnvelop = new RequestEnvelop(); requestEnvelop.Requests.Add(new Request() { Type = Method.GetInventory }); var responseEnvelop = apiRequest(m_apiEndPoint, requestEnvelop); var messageParser = new MessageParser <InventoryResponseProto>(() => { return(new InventoryResponseProto()); }); return(messageParser.ParseFrom(responseEnvelop.Payload[0].Data.ToByteArray())); }
public FileStreamResult Index(string uid, string path) { LogRequest(HttpContext); var req = HttpContext.Request; Sync sync = new Sync(uid); RequestEnvelop request = new RequestEnvelop { Uid = uid, RequestId = sync.RequestId, Request = new FwdRequest { RequestId = sync.RequestId, Path = path, Method = req.Method, ContentType = req.ContentType, Body = req.Body.AsString() } }; foreach (var kvp in req.Cookies) { request.Request.Cookies[kvp.Key] = kvp.Value; } foreach (var kvp in req.Headers) { if (!request.Request.Headers.ContainsKey(kvp.Key)) { request.Request.Headers[kvp.Key] = new FwdRequest.HeaderValues(); } foreach (string item in kvp.Value) { request.Request.Headers[kvp.Key].Add(item); } } _messagingService.SendMessage(uid, request.Request); ResponseEnvelop response = sync.GetResponse(); FileStreamResult result = new FileStreamResult(response.ResponseStream, response.ContentType); return(result); }
ResponseEnvelop apiRequest(string apiEndPoint, RequestEnvelop requestEnvelop) { requestEnvelop.Direction = Direction.Request; requestEnvelop.RpcId = 7309341774315520108; requestEnvelop.Latitude = m_coordLatitude; requestEnvelop.Longitude = m_coordLongitude; requestEnvelop.Altitude = m_coordAltitude; requestEnvelop.Unknown12 = 989; requestEnvelop.Auth = new RequestEnvelop.Types.AuthInfo() { Provider = (m_authType == AuthenticationService.AuthenticationType.Google) ? "google" : "ptc", Token = new RequestEnvelop.Types.AuthInfo.Types.JWT() { Contents = m_accessToken, Unknown13 = 59 } }; var memoryStream = new System.IO.MemoryStream(); var outStream = new CodedOutputStream(memoryStream, false); requestEnvelop.WriteTo(outStream); outStream.Flush(); memoryStream.Position = 0; var memoryReader = new System.IO.BinaryReader(memoryStream); byte[] data = memoryReader.ReadBytes((int)memoryStream.Length); data = HttpHelper.Post(apiEndPoint, data); var responseEnvelop = new ResponseEnvelop(); var messageParser = new MessageParser <ResponseEnvelop>(() => { return(new ResponseEnvelop()); }); responseEnvelop = messageParser.ParseFrom(data); return(responseEnvelop); }
static ResponseEnvelop api_req(string api_endpoint, string access_token, RequestEnvelop.Types.Requests[] reqs) { try { var envelop = new RequestEnvelop { Unknown1 = 2, RpcId = 8145806132888207460, Latitude = COORDS_LATITUDE, Longitude = COORDS_LONGITUDE, Altitude = COORDS_ALTITUDE, Unknown12 = 989, Auth = new RequestEnvelop.Types.AuthInfo { Provider = "ptc", Token = new RequestEnvelop.Types.AuthInfo.Types.JWT { Contents = access_token, Unknown13 = 59 }, } }; foreach (var r in reqs) envelop.Requests.Add(r); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("User-Agent", "Niantic App"); using (var ms = new MemoryStream()) { envelop.WriteTo(ms); ms.Position = 0; var result = client.PostAsync(api_endpoint, new ByteArrayContent(ms.ToArray())).Result; var r = result.Content.ReadAsByteArrayAsync().Result; var ret = ResponseEnvelop.Parser.ParseFrom(r); return ret; } } } catch (Exception e) { if (_debug) Console.WriteLine(e); return null; } }
public GetMapObjectsOutProto getMapObjects() { var requestMapObjects = new GetMapObjectsProto() { CellId = ByteString.CopyFrom(S2Helper.GetNearbyCellIds(m_coordLongitude, m_coordLatitude)), SinceTimeMs = ByteString.CopyFromUtf8("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"), PlayerLat = m_coordLatitude, PlayerLng = m_coordLongitude, }; var requestEnvelop = new RequestEnvelop(); requestEnvelop.Requests.Add(new Request() { Type = Method.GetMapObjects, Data = requestMapObjects.ToByteString() }); var responseEnvelop = apiRequest(m_apiEndPoint, requestEnvelop); var messageParser = new MessageParser <GetMapObjectsOutProto>(() => { return(new GetMapObjectsOutProto()); }); return(messageParser.ParseFrom(responseEnvelop.Payload[0].Data.ToByteArray())); }