protected static String createToSignContents()

in aliyun-sdk-opensearch/src/main/java/com/aliyun/opensearch/auth/OpenSearchAuthentication.java [184:217]


    protected static String createToSignContents(String method, String content_md5, String content_type, String date,
                                                 TreeMap<String, String> opensearch_headers, String request_path,
                                                 TreeMap<String, String> query_params) {
        StringBuilder string_to_sign = new StringBuilder();
        string_to_sign.append(method.toUpperCase()).append("\n");
        string_to_sign.append(content_md5).append("\n");
        string_to_sign.append(content_type).append("\n");
        string_to_sign.append(date).append("\n");

        for (Entry<String, String> entry : opensearch_headers.entrySet()) {
            String header_key = entry.getKey().toLowerCase();
            String header_value = entry.getValue();
            string_to_sign.append(header_key).append(":").append(header_value).append("\n");
        }

        String signable_resource = Utils.percentEncode(request_path).replaceAll("%2F", "/");
        List<String> query_params_kvs = Lists.newLinkedList();
        for (Entry<String, String> entry : query_params.entrySet()) {
            String k = entry.getKey();
            String v = entry.getValue();
            String encodeKey = Utils.percentEncode(k);
            String encodeValue = Utils.percentEncode(v);
            StringBuilder s = new StringBuilder();
            query_params_kvs.add(s.append(encodeKey).append("=").append(encodeValue).toString());
        }

        String query_params_string = Joiner.on('&').join(query_params_kvs);
        String canonicalizedResource = signable_resource;
        if (!query_params_string.isEmpty()) {
            canonicalizedResource += "?" + query_params_string;
        }
        string_to_sign.append(canonicalizedResource);
        return string_to_sign.toString();
    }