src/Common/Internal/Authentication/StorageAuthScheme.php
protected function computeCanonicalizedResource($url, $queryParams)
    {
        $queryParams = array_change_key_case($queryParams);

        // 1. Beginning with an empty string (""), append a forward slash (/),
        //    followed by the name of the account that owns the accessed resource.
        $canonicalizedResource = '/'.$this->accountName;

        // 2. Append the resource's encoded URI path, without any query parameters.
        $canonicalizedResource .= parse_url($url, PHP_URL_PATH);

        // 3. Retrieve all query parameters on the resource URI, including the comp
        //    parameter if it exists.
        // 4. Sort the query parameters lexicographically by parameter name, in
        //    ascending order.
        if (count($queryParams) > 0) {
            ksort($queryParams);
        }

        // 5. Convert all parameter names to lowercase.
        // 6. URL-decode each query parameter name and value.
        // 7. Append each query parameter name and value to the string in the
        //    following format:
        //      parameter-name:parameter-value
        // 9. Group query parameters
        // 10. Append a new line character (\n) after each name-value pair.
        foreach ($queryParams as $key => $value) {
            // Grouping query parameters
            $values = explode(Resources::SEPARATOR, $value);
            sort($values);
            $separated = implode(Resources::SEPARATOR, $values);

            $canonicalizedResource .= "\n".$key.':'.$separated;
        }

        return $canonicalizedResource;
    }
protected function computeCanonicalizedResource($url, $queryParams)
    {
        $queryParams = array_change_key_case($queryParams);

        // 1. Beginning with an empty string (""), append a forward slash (/),
        //    followed by the name of the account that owns the accessed resource.
        $canonicalizedResource = '/'.$this->accountName;

        // 2. Append the resource's encoded URI path, without any query parameters.
        $canonicalizedResource .= parse_url($url, PHP_URL_PATH);

        // 3. Retrieve all query parameters on the resource URI, including the comp
        //    parameter if it exists.
        // 4. Sort the query parameters lexicographically by parameter name, in
        //    ascending order.
        if (count($queryParams) > 0) {
            ksort($queryParams);
        }

        // 5. Convert all parameter names to lowercase.
        // 6. URL-decode each query parameter name and value.
        // 7. Append each query parameter name and value to the string in the
        //    following format:
        //      parameter-name:parameter-value
        // 9. Group query parameters
        // 10. Append a new line character (\n) after each name-value pair.
        foreach ($queryParams as $key => $value) {
            // Grouping query parameters
            $values = explode(Resources::SEPARATOR, $value);
            sort($values);
            $separated = implode(Resources::SEPARATOR, $values);

            $canonicalizedResource .= "\n".$key.':'.$separated;
        }

        return $canonicalizedResource;
    }
protected function computeCanonicalizedResource ( $ url , $ queryParams ) { $ queryParams = array_change_key_case ( $ queryParams ) ; // 1. Beginning with an empty string (""), append a forward slash (/), //    followed by the name of the account that owns the accessed resource. $ canonicalizedResource = '/' . $ this -> accountName ; // 2. Append the resource's encoded URI path, without any query parameters. $ canonicalizedResource .= parse_url ( $ url , PHP_URL_PATH ) ; // 3. Retrieve all query parameters on the resource URI, including the comp //    parameter if it exists. // 4. Sort the query parameters lexicographically by parameter name, in //    ascending order. if ( count ( $ queryParams ) > 0 ) { ksort ( $ queryParams ) ; } // 5. Convert all parameter names to lowercase. // 6. URL-decode each query parameter name and value. // 7. Append each query parameter name and value to the string in the //    following format: //      parameter-name:parameter-value // 9. Group query parameters // 10. Append a new line character (\n) after each name-value pair. foreach ( $ queryParams as $ key => $ value ) { // Grouping query parameters $ values = explode ( Resources :: SEPARATOR , $ value ) ; sort ( $ values ) ; $ separated = implode ( Resources :: SEPARATOR , $ values ) ; $ canonicalizedResource .= "\n" . $ key . ':' . $ separated ; } return $ canonicalizedResource ; }
Computes canonicalized resources from URL.

@param string $url         request url
@param array  $queryParams request query variables

@see Constructing the Canonicalized Resource String section at
http://msdn.microsoft.com/en-us/library/windowsazure/dd179428.aspx

@return string
Computes canonicalized resources from URL .