Exemplo n.º 1
0
        public ResponseType doRequest(OAuthBaseRequest req)
        {
            loadRequest();
            UriBuilder requestURL = new UriBuilder(RequestURL);

            foreach (KeyValuePair <string, List <string> > param in QueryParameters)
            {
                foreach (string s in param.Value)
                {
                    AddQueryParameter(requestURL, param.Key, s);
                }
            }
            Logger.Trace("Request: " + requestURL.Uri.AbsoluteUri);
            WebRequest request = WebRequest.Create(requestURL.Uri);

            switch (Mode)
            {
            case RequestMode.POST:
                request.Method = "POST";
                break;

            case RequestMode.GET:
            default:
                request.Method = "GET";
                break;
            }

            // Add Authentication
            req.Scope |= RequiredScopes;
            request.Headers.Add("Client-Id: " + req.ClientID);
            request.Headers.Add("Authorization: Bearer " + req.CommandAccessToken);

            if (Mode == RequestMode.POST)
            {
                // Do POST
                request.ContentType = "application/json";
                JObject body = new JObject();
                foreach (KeyValuePair <string, object> param in BodyParameters)
                {
                    body[param.Key] = JToken.FromObject(param.Value);
                }
                byte[] data = Encoding.UTF8.GetBytes(body.ToString());
                request.ContentLength = data.Length;
                Stream dataStream = request.GetRequestStream();
                dataStream.Write(data, 0, data.Length);
                // Close the Stream object.
                dataStream.Close();
            }

            WebResponse response       = request.GetResponse();
            string      serverResponse = (new StreamReader(response.GetResponseStream())).ReadToEnd();

            response.Close();
            return(parseResponse(JObject.Parse(serverResponse)));
        }
Exemplo n.º 2
0
 public TwitchIRC(string name, OAuthBaseRequest req)
 {
     this.oAuth    = req;
     this.Nickname = name;
     this.RealName = name;
 }
Exemplo n.º 3
0
 public IRCPassCommand(OAuthBaseRequest req) : this(req.CommandAccessToken)
 {
 }
Exemplo n.º 4
0
 public static void send(TwitchIRC irc, OAuthBaseRequest req)
 {
     new IRCPassCommand(req).sendCommand(irc);
 }
Exemplo n.º 5
0
 public TwitchAPIUtil(OAuthBaseRequest req)
 {
     this.oAuthToken = req;
 }