Foretagsplatsen.Api2.OAuthRestClient.CreateRequest C# (CSharp) Метод

CreateRequest() публичный Метод

Add OAuth signing to requests and executes the request.
public CreateRequest ( string httpMethod, string url, object arguments ) : HttpWebRequest
httpMethod string HTTP Verb (GET, POST, PUT, DELETE)
url string Url to execute the request against.
arguments object Query arguments
Результат System.Net.HttpWebRequest
        public override HttpWebRequest CreateRequest(string httpMethod, string url, object arguments)
        {
            var session = OAuthService.CreateSession(credentials, BaseUrl, String.Empty);

            var request = session
                .Request()
                .ForMethod(httpMethod)
                .ForUrl(url)
                .AlterHttpWebRequest(httpRequest => httpRequest.ContentType = "application/json")
                .AlterContext(context => context.UseQueryParametersForOAuth = true)
                .SignWithToken(credentials.Token)
                .AlterHttpWebRequest(httpRequest => httpRequest.Timeout = 30*60*1000)
                .AlterHttpWebRequest(httpRequest => httpRequest.ReadWriteTimeout = 30*60*1000);

            if (arguments != null && (httpMethod == "POST" || httpMethod == "PUT"))
            {
                request.ConsumerContext.EncodeRequestBody = false;
                request.WithBody(arguments.ToString());
            }
            else if (httpMethod == "POST" || httpMethod == "PUT")
            {
                request.AlterHttpWebRequest(httpRequest => httpRequest.ContentLength = 0);
            }

            if (arguments != null && (httpMethod == "GET" || httpMethod == "DELETE"))
            {
                request.WithQueryParameters(arguments);
            }

            var httpWebRequest = ((ConsumerRequest) request).ToWebRequest();

            return httpWebRequest;
        }