public override NoAPIResponse getResponse() { BrimeAPIResponse response = doRequest(); BrimeAPIError.ThrowException(response); return(new NoAPIResponse(response.Data)); }
} // No parameters public override int getResponse() { BrimeAPIResponse response = doRequest(); BrimeAPIError.ThrowException(response); return(response.Data.Value <int>("total")); }
public static void ThrowException(BrimeAPIResponse response) { // Note: Despite this being a foreach, this will only throw the first error detected. Using foreach to // simplify difference between majority of cases which have no errors, and those which do. Could // potentially be switched to if (response.Errors.Count > 0) switch (response.Errors[0]) ... foreach (BrimeAPIError error in response.Errors) { switch (error.Name) { case "INTERNAL_ERROR": throw new BrimeAPIInternalError(error); case "NOT_IMPLEMENTED": throw new BrimeAPINotImplemented(error); case "MISSING_PARAMETER": throw new BrimeAPIMissingParameter(error); case "INVALID_CLIENT_ID": throw new BrimeAPIInvalidClientID(error); case "MISSING_SCOPE": throw new BrimeAPIMissingScope(error); case "INVALID_CHANNEL": throw new BrimeAPIInvalidChannel(error); case "RATE_LIMIT_EXCEEDED": throw new BrimeAPIRateLimitExceeded(error); case "MISSING_ACCESS": throw new BrimeAPIMissingAccess(error); default: throw new BrimeAPIException(error); } } }
public override List <BrimeClip> getResponse() { BrimeAPIResponse response = doRequest(); BrimeAPIError.ThrowException(response); JArray?clips = response.Data.Value <JArray>("clips"); if (clips != null) { List <BrimeClip> _result = new List <BrimeClip>(clips.Count); foreach (JToken?clip in clips) { if (clip != null) { _result.Add(new BrimeClip(clip)); } } return(_result); } else { return(new List <BrimeClip>()); } }
public override LivestreamsByCategoryResponse getResponse() { BrimeAPIResponse response = doRequest(); BrimeAPIError.ThrowException(response); return(new LivestreamsByCategoryResponse(response)); }
public override BrimeEmoteSet getResponse() { BrimeAPIResponse response = doRequest(); BrimeAPIError.ThrowException(response); return(new BrimeEmoteSet(response.Data)); }
public ChannelEmotesResponse(BrimeAPIResponse response) { try { // TODO: Check structure of API response - no current example EmoteSet = new BrimeEmoteSet(response.Data); } catch (Exception e) { throw new BrimeAPIMalformedResponse(e.ToString()); } }
public override BrimeCategory getResponse() { // Trigger the request and process the JSON response. BrimeAPIResponse response = doRequest(); // Trigger exceptions for any detected errors in the response. BrimeAPIError.ThrowException(response); // Generate the new Category from the response. return(new BrimeCategory(response.Data)); }
public override bool getResponse() { BrimeAPIResponse response = doRequest(); try { BrimeAPIError.ThrowException(response); } catch (BrimeAPIInvalidChannel) { return(false); } return(true); }
public static ErrorCheckResult CheckError(BrimeAPIResponse response) { ErrorCheckResult _result = ErrorCheckResult.VALID; foreach (BrimeAPIError error in response.Errors) { if (error.ErrorCode == 429) { _result = ErrorCheckResult.RETRY; } else { return(_result); // once one error detected, return immediately } } return(_result); // result will either be VALID if no error present, or set to RETRY if RateLimit detected (ERROR returns early) }
public GlobalEmotesResponse(BrimeAPIResponse apiResponse) { BrimeAPIError.ThrowException(apiResponse); try { JArray?emoteSets = apiResponse.Data.Value <JArray>("emoteSets"); GlobalEmoteSets = new List <BrimeEmoteSet>((emoteSets == null) ? 0 : emoteSets.Count); if (emoteSets != null) { foreach (JToken set in emoteSets) { GlobalEmoteSets.Add(new BrimeEmoteSet(set)); } } } catch (Exception e) { throw new BrimeAPIMalformedResponse(e.ToString()); } }
public override List <BrimeStream> getResponse() { BrimeAPIResponse response = doRequest(); BrimeAPIError.ThrowException(response); List <BrimeStream> _result; JArray? streams = response.Data.Value <JArray>("streams"); if (streams != null) { _result = new List <BrimeStream>(streams.Count); foreach (JToken item in streams) { _result.Add(new BrimeStream(item)); } } else { _result = new List <BrimeStream>(); } return(_result); }
public override List <LivestreamsByCategoryResponse> getResponse() { BrimeAPIResponse response = doRequest(); BrimeAPIError.ThrowException(response); JArray?items = response.Data.Value <JArray>("categories"); if (items != null) { List <LivestreamsByCategoryResponse> _result = new List <LivestreamsByCategoryResponse>(items.Count); foreach (JToken item in items) { if (item != null) { _result.Add(new LivestreamsByCategoryResponse(item)); } } return(_result); } else { return(new List <LivestreamsByCategoryResponse>()); } }
public LivestreamsByCategoryResponse(BrimeAPIResponse response) : this(response.Data) { }