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"); } }
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())); } }
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())); } }
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())); } }
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))); } }
public virtual WebRequestParameter CreateRequestParameter() { var req = new WebRequestParameter { Proxy = this.Proxy }; var timeout = this.Timeout; if (timeout > 0) { req.Timeout = timeout; } return(req); }
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); } }
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); }
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); }