public virtual HttpRequest Create(QueryViewRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            var httpRequest = request.HasKeys
                ? new HttpRequest(HttpMethod.Post, GenerateRelativeUrl(request)).SetJsonContent(GenerateRequestBody(request))
                : new HttpRequest(HttpMethod.Get, GenerateRelativeUrl(request));

            httpRequest.SetRequestTypeHeader(request.GetType());

            return httpRequest;
        }
        public virtual HttpRequest Create(QueryViewRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            var httpRequest = request.HasKeys
                ? new HttpRequest(HttpMethod.Post, GenerateRelativeUrl(request)).SetJsonContent(GenerateRequestBody(request))
                : new HttpRequest(HttpMethod.Get, GenerateRelativeUrl(request));

            httpRequest.SetRequestTypeHeader(request.GetType());

            if (request.HasAccepts)
                httpRequest.SetAcceptHeader(request.Accepts);
            else
            {
                if (!string.IsNullOrWhiteSpace(request.ListName))
                    httpRequest.SetAcceptHeader(HttpContentTypes.Json, HttpContentTypes.Html);
            }

            return httpRequest;
        }