in src/main/java/com/alibaba/cloudapi/sdk/client/WebSocketApiClient.java [481:512]
private String buildRequest(ApiRequest apiRequest){
try {
apiRequest.setHost(host);
apiRequest.setScheme(scheme);
ApiRequestMaker.make(apiRequest, appKey, appSecret);
WebSocketApiRequest webSocketApiRequest = new WebSocketApiRequest();
webSocketApiRequest.setHost(host);
webSocketApiRequest.setPath(apiRequest.getPath());
webSocketApiRequest.setMethod(apiRequest.getMethod().getValue());
webSocketApiRequest.setQuerys(apiRequest.getQuerys());
webSocketApiRequest.setHeaders(apiRequest.getHeaders());
webSocketApiRequest.setIsBase64(apiRequest.isBase64BodyViaWebsocket() == true ? 1 : 0);
MediaType bodyType = MediaType.parse(apiRequest.getFirstHeaderValue(HttpConstant.CLOUDAPI_HTTP_HEADER_CONTENT_TYPE));
if (null != apiRequest.getFormParams() && apiRequest.getFormParams().size() > 0) {
webSocketApiRequest.setBody(HttpCommonUtil.buildParamString(apiRequest.getFormParams()));
} else if (null != apiRequest.getBody()) {
webSocketApiRequest.setBody(new String(apiRequest.getBody(), bodyType.charset(SdkConstant.CLOUDAPI_ENCODING)));
}
if (apiRequest.isBase64BodyViaWebsocket()) {
webSocketApiRequest.setBody(Base64.encodeBase64String(apiRequest.getBody()));
}
return objectMapper.writeValueAsString(webSocketApiRequest);
}
catch (Exception ex){
throw new RuntimeException(ex);
}
}