Пример #1
0
        public void SetupRequest(WebRequestParameter request, APIVersion?version)
        {
            var headers = request.Headers;

            if (version.HasValue == true)
            {
                headers["Client-Id"] = this.ClientId;
            }

            var accessToken = this.AccessToken;

            if (accessToken != null)
            {
                if (version == APIVersion.New)
                {
                    headers["Authorization"] = $"Bearer {accessToken}";
                }
                else if (version == APIVersion.V5)
                {
                    headers["Authorization"] = $"OAuth {accessToken}";
                }
            }

            if (version == APIVersion.V5)
            {
                request.Accept = "application/vnd.twitchtv.v5+json";
            }
        }
        public static void SetCookie(WebRequestParameter parameter, ExHentaiAccount account)
        {
            var cookies = parameter.CookieContainer = new CookieContainer();

            if (account != null)
            {
                SetCookie(cookies, account, "e-hentai.org");
                SetCookie(cookies, account, "exhentai.org");
            }
        }
Пример #3
0
        public TwitchBadgeSet GetChannelBadges(string channelId)
        {
            var req = new WebRequestParameter();

            req.Uri    = $"https://badges.twitch.tv/v1/badges/channels/{channelId}/display";
            req.Method = "GET";

            using (var res = this.Parent.Web.Request(req))
            {
                return(new TwitchBadgeSet(res.ReadAsJson()));
            }
        }
Пример #4
0
        public TwitchBadgeSet GetGlobalBadges()
        {
            var req = new WebRequestParameter();

            req.Uri    = $"https://badges.twitch.tv/v1/badges/global/display";
            req.Method = "GET";

            using (var res = this.Parent.Web.Request(req))
            {
                return(new TwitchBadgeSet(res.ReadAsJson()));
            }
        }
Пример #5
0
        public TwitchBadgeSet GetBadges(string channelName)
        {
            var req = new WebRequestParameter();

            req.Uri    = $"https://cbenni.com/api/badges/{channelName}";
            req.Method = "GET";

            using (var res = this.Parent.Web.Request(req))
            {
                return(new TwitchBadgeSet(res.ReadAsJson()));
            }
        }
Пример #6
0
        public EmoteSet[] GetEmoteSets(IEnumerable <string> setIds)
        {
            var req = new WebRequestParameter();

            req.Uri    = $"https://api.twitchemotes.com/api/v4/sets?id={string.Join(",", setIds)}";
            req.Method = "GET";

            using (var res = this.Parent.Web.Request(req))
            {
                var jToken = res.ReadAsJson();
                return(jToken.ReadArray(t => new EmoteSet(t)));
            }
        }
Пример #7
0
        public virtual WebRequestParameter CreateRequestParameter()
        {
            var req = new WebRequestParameter {
                Proxy = this.Proxy
            };
            var timeout = this.Timeout;

            if (timeout > 0)
            {
                req.Timeout = timeout;
            }

            return(req);
        }
Пример #8
0
        public string ProcessWebRequest(WebRequestParameter request)
        {
            using (var response = this.Explorer.Request(request))
            {
                var str       = response.ReadAsString();
                var pResponse = PastebinAPIResponse.Parse(str);
                var error     = pResponse.Error;

                if (string.IsNullOrWhiteSpace(error) == false)
                {
                    throw new PastebinException(error);
                }

                return(pResponse.Value);
            }
        }
Пример #9
0
        public WebRequestParameter CreateWebRequest(string uri, QueryValues values)
        {
            var apiKeyName = "api_dev_key";
            var overrides  = new QueryValues(values);

            overrides.RemoveAll(apiKeyName);
            overrides.Add(apiKeyName, this.APIKey);

            var request = new WebRequestParameter();

            request.Method         = "POST";
            request.Uri            = uri;
            request.ContentType    = "application/x-www-form-urlencoded";
            request.WriteParameter = overrides.ToString(false, false);

            return(request);
        }
Пример #10
0
        public WebRequestParameter CreateWebRequest(TwitchAPIRequest apiRequest)
        {
            var baseUri     = this.GetBaseUri(apiRequest.BaseUrl, apiRequest.Version, apiRequest.Path);
            var queryValues = new QueryValues();

            queryValues.AddRange(QueryValues.Parse(baseUri.Query));
            queryValues.AddRange(apiRequest.QueryValues);

            var request = new WebRequestParameter();

            request.RetryCount     = 0;
            request.Uri            = $"{baseUri.Scheme}{Uri.SchemeDelimiter}{baseUri.Host}{baseUri.LocalPath}{queryValues.ToString(false)}";
            request.Method         = apiRequest.Method;
            request.WriteParameter = apiRequest.PostData;
            request.ContentType    = apiRequest.ContentType ?? request.ContentType;
            this.SetupRequest(request, apiRequest.Version);

            return(request);
        }