Exemple #1
0
        public void ValidateData()
        {
            ConnectionData = new FbnsConnectionData();
            var unix = DateTime.UtcNow.ToUnixTime();

            if (ConnectionData.FbnsTokenUpdatedAt > 0 && (unix.FromUnixTimeSeconds() - ConnectionData.FbnsTokenUpdatedAt.FromUnixTimeSeconds()).TotalHours > 24)
            {
                ConnectionData.FbnsToken          = "";
                ConnectionData.FbnsTokenUpdatedAt = 0;
            }
            if (string.IsNullOrEmpty(ConnectionData.UserAgent))
            {
                ConnectionData.UserAgent = FbnsUserAgent.BuildFbUserAgent(_instaApi);
            }
        }
Exemple #2
0
        public static async Task <IBuffer> BuildPayload(IInstaApi instaApi)
        {
            InstaApi = instaApi;
            _memoryBufferTransport = new TMemoryBufferTransport(new TConfiguration());
            _thrift      = new TCompactProtocol(_memoryBufferTransport);
            _payloadData = new FbnsConnectionData(); // since we don't need payload data, just ignore it

            var rawPayload = await ToThrift();

            var dataStream = new MemoryStream(512);

            using (var zlibStream = new ZlibStream(dataStream, CompressionMode.Compress, CompressionLevel.Level9, true))
                await zlibStream.WriteAsync(rawPayload, 0, rawPayload.Length);

            var compressed = dataStream.GetWindowsRuntimeBuffer(0, (int)dataStream.Length);

            return(compressed);
        }
Exemple #3
0
        public static async Task <IBuffer> BuildPayload(FbnsConnectionData data)
        {
            _memoryBufferTransport = new TMemoryBufferTransport(new TConfiguration());
            _thrift      = new TCompactProtocol(_memoryBufferTransport);
            _payloadData = data;

            var rawPayload = await ToThrift();

            // zlib deflate
            var dataStream = new MemoryStream(512);

            using (var zlibStream = new ZlibStream(dataStream, CompressionMode.Compress, CompressionLevel.Level9, true))
            {
                await zlibStream.WriteAsync(rawPayload, 0, rawPayload.Length);
            }

            var compressed = dataStream.GetWindowsRuntimeBuffer(0, (int)dataStream.Length);

            return(compressed);
        }