Exemplo n.º 1
0
        private void WriteActionParms(HipChatConnection connection, IEnumerable<KeyValuePair<string, string>> actionParms )
        {
            if (!actionParms.Any() || connection.Method.ToUpper() == "GET")
                return;

            var request = connection.GetRequest();

            var queryStringHelper = new QueryStringHelper();

            foreach (var kvPair in actionParms)
            {
                queryStringHelper.Add(kvPair.Key, HttpUtility.UrlEncode(kvPair.Value));
            }

            var postString = queryStringHelper.PostStringValue;
            var bytes = System.Text.Encoding.UTF8.GetBytes(postString);

            request.ContentType = "application/x-www-form-urlencoded";
            request.UserAgent = "HipChat API Client";
            request.ContentLength = bytes.Length;

            var requestStream = request.GetRequestStream();
            requestStream.Write(bytes, 0, bytes.Length);
            requestStream.Close();
        }
Exemplo n.º 2
0
        public HipChatResponse Execute(HipChatConnection connection, IEnumerable<KeyValuePair<string,string>> actionParms)
        {
            _connection = connection;
            _actionParms = actionParms ?? new Dictionary<string, string>();

            WriteActionParms(_connection, _actionParms);
            var responseString = GetResponseString();

            var headers = _connection.GetWebHeaders();

            Int32.TryParse(headers.Get("X-RateLimit-Remaining"), out _apiCallsRemaining);

            var response = new HipChatResponse() { ResponseString = responseString, ApiCallsRemaining = _apiCallsRemaining };

            return response;
        }
Exemplo n.º 3
0
        public HipChatClient(HipChatCredentials credentials)
        {
            _connection = new HipChatConnection(credentials);

            Rooms = new RoomsApi(_connection);
        }
Exemplo n.º 4
0
 public RoomsApi(HipChatConnection connection)
 {
     _connection = connection;
 }