private Request buildRequest()

in src/main/java/com/alibaba/cloudapi/sdk/client/OkHttp3Client.java [107:131]


    private Request buildRequest(ApiRequest request){
        if(request.getHttpConnectionMode() == HttpConnectionModel.SINGER_CONNECTION){
            request.setHost(host);
            request.setScheme(scheme);
        }

        ApiRequestMaker.make(request , appKey , appSecret);
        RequestBody requestBody = null;
        if(null != request.getFormParams() && request.getFormParams().size() > 0){
            requestBody = RequestBody.create(MediaType.parse(request.getFirstHeaderValue(HttpConstant.CLOUDAPI_HTTP_HEADER_CONTENT_TYPE)) , HttpCommonUtil.buildParamString(request.getFormParams()));
        }
        /**
         *  如果类型为byte数组的body不为空
         *  将body中的内容MD5算法加密后再采用BASE64方法Encode成字符串,放入HTTP头中
         *  做内容校验,避免内容在网络中被篡改
         */
        else if(null != request.getBody() && request.getBody().length >0){
            requestBody = RequestBody.create(MediaType.parse(request.getFirstHeaderValue(HttpConstant.CLOUDAPI_HTTP_HEADER_CONTENT_TYPE)) , request.getBody());
        }
        return new Request.Builder()
                .method(request.getMethod().getValue() , requestBody)
                .url(request.getUrl())
                .headers(getHeadersFromMap(request.getHeaders()))
                .build();
    }