/// <summary> /// $HttpString = [HttpMethod]\n[HttpURI]\n[HttpParameters]\n[HttpHeaders]\n /// </summary> /// <param name="method"></param> /// <param name="path"></param> /// <param name="queryParameters"></param> /// <param name="headers"></param> /// <returns></returns> public string GenerateSource(string method, string path, Dictionary <string, string> queryParameters, Dictionary <string, string> headers) { StringBuilder formatString = new StringBuilder(); formatString.Append(method.ToLower()).Append('\n'); // method formatString.Append(path).Append('\n'); // path //check header and parameter in request string headerResult = CheckHeaders(headers); string parameterResult = CheckParameters(queryParameters); if (parameterResult != null) { formatString.Append(parameterResult); // parameters } formatString.Append('\n'); if (headerResult != null) { formatString.Append(headerResult); // headers } formatString.Append('\n'); StringBuilder stringToSign = new StringBuilder(); stringToSign.Append(CosAuthConstants.SHA1).Append('\n'); stringToSign.Append(signTime).Append('\n'); stringToSign.Append(DigestUtils.GetSha1ToHexString(formatString.ToString(), Encoding.UTF8)).Append('\n'); return(stringToSign.ToString()); }