private String generateUrl(Request<?> request) {
        URI endpoint = request.getEndpoint();
        String uri = SdkHttpUtils.appendUri(endpoint.toString(),
                request.getResourcePath(), true);
        String encodedParams = SdkHttpUtils.encodeParameters(request);

        if (encodedParams != null && !encodedParams.isEmpty()) {
            uri += "?" + encodedParams;
        }

        return uri;

    }
Abstract pre-sign handler that follows the pre-signing scheme outlined in the 'RDS Presigned URL for Cross-Region Copying' SEP.

@param <T> The request type.
aws-java-sdk-neptune/src/main/java/com/amazonaws/services/neptune/PresignRequestHandler.java