microsoft-azure-storage/src/com/microsoft/azure/storage/core/TableCanonicalizer.java
@Override
    protected String canonicalize(final HttpURLConnection conn, final String accountName, final Long contentLength)
            throws StorageException {

        if (contentLength < -1) {
            throw new InvalidParameterException(SR.INVALID_CONTENT_LENGTH);
        }

        return canonicalizeTableHttpRequest(conn.getURL(), accountName, conn.getRequestMethod(),
                Utility.getStandardHeaderValue(conn, Constants.HeaderConstants.CONTENT_TYPE), contentLength, null,
                conn);
    }
@Override
    protected String canonicalize(final HttpURLConnection conn, final String accountName, final Long contentLength)
            throws StorageException {

        if (contentLength < -1) {
            throw new InvalidParameterException(SR.INVALID_CONTENT_LENGTH);
        }

        return canonicalizeTableHttpRequest(conn.getURL(), accountName, conn.getRequestMethod(),
                Utility.getStandardHeaderValue(conn, Constants.HeaderConstants.CONTENT_TYPE), contentLength, null,
                conn);
    }
Constructs a canonicalized string for signing a request.

@param conn
the HttpURLConnection to canonicalize
@param accountName
the account name associated with the request
@param contentLength
the length of the content written to the outputstream in bytes, -1 if unknown
@return a canonicalized string.
@throws StorageException