Akamai.EdgeGrid.Auth.EdgeGridV1Signer.GetRequestData C# (CSharp) Method

GetRequestData() private method

private GetRequestData ( string method, Uri uri, NameValueCollection requestHeaders = null, Stream requestStream = null ) : string
method string
uri System.Uri
requestHeaders System.Collections.Specialized.NameValueCollection
requestStream Stream
return string
        internal string GetRequestData(string method, Uri uri, NameValueCollection requestHeaders = null, Stream requestStream = null)
        {
            if (string.IsNullOrEmpty(method))
                throw new ArgumentNullException("Invalid request: empty request method");

            String headers = GetRequestHeaders(requestHeaders);
            String bodyHash = "";
            // Only POST body is hashed
            if (method == "POST")
                bodyHash = GetRequestStreamHash(requestStream);

            return string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t",
                method.ToUpper(),
                uri.Scheme,
                uri.Host,
                uri.PathAndQuery,
                headers,
                bodyHash);
        }

Usage Example

        public void GetRequestDataTest()
        {
            EdgeGridV1Signer signer = new EdgeGridV1Signer(new List <string>()
            {
                "name1"
            });

            Assert.AreEqual("GET\thttp\twww.example.com\t/\t\t\t", signer.GetRequestData("GET", new Uri("http://www.example.com")));
            Assert.AreEqual("GET\thttp\twww.example.com\t/path.ext?name=value\t\t\t", signer.GetRequestData("GET", new Uri("http://www.example.com/path.ext?name=value")));

            var headers = new NameValueCollection()
            {
                { "name1", "value1" }
            };

            Assert.AreEqual("GET\thttp\twww.example.com\t/path.ext?name=value\tname1:value1\t\t\t",
                            signer.GetRequestData("GET", new Uri("http://www.example.com/path.ext?name=value"), headers));


            var data   = "Lorem ipsum dolor sit amet, an sea putant quaeque, homero aperiam te eos.".ToByteArray();
            var stream = new MemoryStream(data);

            Assert.AreEqual("GET\thttp\twww.example.com\t/path.ext?name=value\tname1:value1\t\t\t",
                            signer.GetRequestData("GET", new Uri("http://www.example.com/path.ext?name=value"), headers, stream));

            Assert.AreEqual("POST\thttp\twww.example.com\t/path.ext?name=value\tname1:value1\t\tTors1txMl65Vww75sekbSCnvWHGxYmK0Yog4qA3AwuI=\t",
                            signer.GetRequestData("POST", new Uri("http://www.example.com/path.ext?name=value"), headers, stream));
        }
All Usage Examples Of Akamai.EdgeGrid.Auth.EdgeGridV1Signer::GetRequestData