Interface SdkHttpFullRequest.Builder
- All Superinterfaces:
Buildable,CopyableBuilder<SdkHttpRequest.Builder,,SdkHttpRequest> SdkBuilder<SdkHttpRequest.Builder,,SdkHttpRequest> SdkHttpHeaders,SdkHttpRequest.Builder
- Enclosing interface:
SdkHttpFullRequest
SdkHttpFullRequest. An instance of this can be created using
SdkHttpFullRequest.builder().-
Method Summary
Modifier and TypeMethodDescriptionappendHeader(String headerName, String headerValue) Add a single header to be included in the created HTTP request.appendRawQueryParameter(String paramName, String paramValue) Add a single un-encoded query parameter to be included in the created HTTP request.applyMutation(Consumer<SdkHttpRequest.Builder> mutator) A convenience operator that takes something that will mutate the builder in some way and allows inclusion of it in chaining operations.build()An immutable object that is created from the properties that have been set on the builder.Removes all headers from this builder.Removes all query parameters from this builder.contentStreamProvider(ContentStreamProvider contentStreamProvider) Set theContentStreamProviderfor this request.copy()A shallow copy of this object created by building an immutable T and then transforming it back to a builder.The path, exactly as it was configured withencodedPath(String).encodedPath(String path) Configure anSdkHttpRequest.encodedPath()to be used in the created HTTP request.headers()The query parameters, exactly as they were configured withheaders(Map),putHeader(String, String)andputHeader(String, List).Configure anSdkHttpHeaders.headers()to be used in the created HTTP request.host()The host, exactly as it was configured withhost(String).Configure aSdkHttpRequest.host()to be used in the created HTTP request.method()The path, exactly as it was configured withmethod(SdkHttpMethod).method(SdkHttpMethod httpMethod) Configure anSdkHttpRequest.method()to be used in the created HTTP request.port()The port, exactly as it was configured withport(Integer).Configure aSdkHttpRequest.port()to be used in the created HTTP request.protocol()The protocol, exactly as it was configured withprotocol(String).Configure aSdkHttpRequest.protocol()to be used in the created HTTP request.default SdkHttpFullRequest.BuilderAdd a single header to be included in the created HTTP request.Add a single header with multiple values to be included in the created HTTP request.default SdkHttpFullRequest.BuilderputRawQueryParameter(String paramName, String paramValue) Add a single un-encoded query parameter to be included in the created HTTP request.putRawQueryParameter(String paramName, List<String> paramValues) Add a single un-encoded query parameter with multiple values to be included in the created HTTP request.The query parameters, exactly as they were configured withrawQueryParameters(Map),putRawQueryParameter(String, String)andputRawQueryParameter(String, List).rawQueryParameters(Map<String, List<String>> queryParameters) Configure anSdkHttpRequest.rawQueryParameters()to be used in the created HTTP request.removeHeader(String headerName) Remove all values for the requested header from this builder.removeQueryParameter(String paramName) Remove all values for the requested query parameter from this builder.default SdkHttpFullRequest.BuilderConvenience method to set theprotocol(),host(),port(),encodedPath()and extracts query parameters from aURIobject.Methods inherited from interface software.amazon.awssdk.http.SdkHttpHeaders
firstMatchingHeader, firstMatchingHeader, forEachHeader, matchingHeaders, numHeadersMethods inherited from interface software.amazon.awssdk.http.SdkHttpRequest.Builder
encodedQueryParameters, forEachRawQueryParameter, numRawQueryParameters, uri
-
Method Details
-
uri
Convenience method to set theprotocol(),host(),port(),encodedPath()and extracts query parameters from aURIobject.- Specified by:
uriin interfaceSdkHttpRequest.Builder- Parameters:
uri- URI containing protocol, host, port and path.- Returns:
- This builder for method chaining.
-
protocol
String protocol()The protocol, exactly as it was configured withprotocol(String).- Specified by:
protocolin interfaceSdkHttpRequest.Builder
-
protocol
Configure aSdkHttpRequest.protocol()to be used in the created HTTP request. This is not validated until the http request is created.- Specified by:
protocolin interfaceSdkHttpRequest.Builder
-
host
String host()The host, exactly as it was configured withhost(String).- Specified by:
hostin interfaceSdkHttpRequest.Builder
-
host
Configure aSdkHttpRequest.host()to be used in the created HTTP request. This is not validated until the http request is created.- Specified by:
hostin interfaceSdkHttpRequest.Builder
-
port
Integer port()The port, exactly as it was configured withport(Integer).- Specified by:
portin interfaceSdkHttpRequest.Builder
-
port
Configure aSdkHttpRequest.port()to be used in the created HTTP request. This is not validated until the http request is created. In order to simplify mapping from aURI, "-1" will be treated as "null" when the http request is created.- Specified by:
portin interfaceSdkHttpRequest.Builder
-
encodedPath
String encodedPath()The path, exactly as it was configured withencodedPath(String).- Specified by:
encodedPathin interfaceSdkHttpRequest.Builder
-
encodedPath
Configure anSdkHttpRequest.encodedPath()to be used in the created HTTP request. This is not validated until the http request is created. This path MUST be URL encoded.Justification of requirements: The path must be encoded when it is configured, because there is no way for the HTTP implementation to distinguish a "/" that is part of a resource name that should be encoded as "%2F" from a "/" that is part of the actual path.
- Specified by:
encodedPathin interfaceSdkHttpRequest.Builder
-
rawQueryParameters
The query parameters, exactly as they were configured withrawQueryParameters(Map),putRawQueryParameter(String, String)andputRawQueryParameter(String, List).- Specified by:
rawQueryParametersin interfaceSdkHttpRequest.Builder
-
putRawQueryParameter
Add a single un-encoded query parameter to be included in the created HTTP request.This completely OVERRIDES any values already configured with this parameter name in the builder.
- Specified by:
putRawQueryParameterin interfaceSdkHttpRequest.Builder- Parameters:
paramName- The name of the query parameter to addparamValue- The un-encoded value for the query parameter.
-
appendRawQueryParameter
Add a single un-encoded query parameter to be included in the created HTTP request.This will ADD the value to any existing values already configured with this parameter name in the builder.
- Specified by:
appendRawQueryParameterin interfaceSdkHttpRequest.Builder- Parameters:
paramName- The name of the query parameter to addparamValue- The un-encoded value for the query parameter.
-
putRawQueryParameter
Add a single un-encoded query parameter with multiple values to be included in the created HTTP request.This completely OVERRIDES any values already configured with this parameter name in the builder.
- Specified by:
putRawQueryParameterin interfaceSdkHttpRequest.Builder- Parameters:
paramName- The name of the query parameter to addparamValues- The un-encoded values for the query parameter.
-
rawQueryParameters
Configure anSdkHttpRequest.rawQueryParameters()to be used in the created HTTP request. This is not validated until the http request is created. This overrides any values currently configured in the builder. The query parameters MUST NOT be URL encoded.Justification of requirements: The query parameters must not be encoded when they are configured because some HTTP implementations perform this encoding automatically.
- Specified by:
rawQueryParametersin interfaceSdkHttpRequest.Builder
-
removeQueryParameter
Remove all values for the requested query parameter from this builder.- Specified by:
removeQueryParameterin interfaceSdkHttpRequest.Builder
-
clearQueryParameters
SdkHttpFullRequest.Builder clearQueryParameters()Removes all query parameters from this builder.- Specified by:
clearQueryParametersin interfaceSdkHttpRequest.Builder
-
method
SdkHttpMethod method()The path, exactly as it was configured withmethod(SdkHttpMethod).- Specified by:
methodin interfaceSdkHttpRequest.Builder
-
method
Configure anSdkHttpRequest.method()to be used in the created HTTP request. This is not validated until the http request is created.- Specified by:
methodin interfaceSdkHttpRequest.Builder
-
headers
The query parameters, exactly as they were configured withheaders(Map),putHeader(String, String)andputHeader(String, List).- Specified by:
headersin interfaceSdkHttpHeaders- Specified by:
headersin interfaceSdkHttpRequest.Builder- Returns:
- An unmodifiable map of all headers in this message.
-
putHeader
Add a single header to be included in the created HTTP request.This completely OVERRIDES any values already configured with this header name in the builder.
- Specified by:
putHeaderin interfaceSdkHttpRequest.Builder- Parameters:
headerName- The name of the header to add (eg. "Host")headerValue- The value for the header
-
putHeader
Add a single header with multiple values to be included in the created HTTP request.This completely OVERRIDES any values already configured with this header name in the builder.
- Specified by:
putHeaderin interfaceSdkHttpRequest.Builder- Parameters:
headerName- The name of the header to addheaderValues- The values for the header
-
appendHeader
Add a single header to be included in the created HTTP request.This will ADD the value to any existing values already configured with this header name in the builder.
- Specified by:
appendHeaderin interfaceSdkHttpRequest.Builder- Parameters:
headerName- The name of the header to addheaderValue- The value for the header
-
headers
Configure anSdkHttpHeaders.headers()to be used in the created HTTP request. This is not validated until the http request is created. This overrides any values currently configured in the builder.- Specified by:
headersin interfaceSdkHttpRequest.Builder
-
removeHeader
Remove all values for the requested header from this builder.- Specified by:
removeHeaderin interfaceSdkHttpRequest.Builder
-
clearHeaders
SdkHttpFullRequest.Builder clearHeaders()Removes all headers from this builder.- Specified by:
clearHeadersin interfaceSdkHttpRequest.Builder
-
contentStreamProvider
Set theContentStreamProviderfor this request.- Parameters:
contentStreamProvider- The ContentStreamProvider.- Returns:
- This object for method chaining.
-
contentStreamProvider
ContentStreamProvider contentStreamProvider()- Returns:
- The
ContentStreamProviderfor this request.
-
copy
SdkHttpFullRequest.Builder copy()Description copied from interface:CopyableBuilderA shallow copy of this object created by building an immutable T and then transforming it back to a builder.- Specified by:
copyin interfaceCopyableBuilder<SdkHttpRequest.Builder,SdkHttpRequest> - Returns:
- a copy of this object
-
applyMutation
Description copied from interface:SdkBuilderA convenience operator that takes something that will mutate the builder in some way and allows inclusion of it in chaining operations. For example instead of:Builder builder = ClassBeingBuilt.builder(); builder = Util.addSomeDetailToTheBuilder(builder); ClassBeingBuilt clz = builder.build();This can be done in a statement:
ClassBeingBuilt = ClassBeingBuilt.builder().applyMutation(Util::addSomeDetailToTheBuilder).build();- Specified by:
applyMutationin interfaceSdkBuilder<SdkHttpRequest.Builder,SdkHttpRequest> - Parameters:
mutator- the function that mutates the builder- Returns:
- B the mutated builder instance
-
build
SdkHttpFullRequest build()Description copied from interface:SdkBuilderAn immutable object that is created from the properties that have been set on the builder.- Specified by:
buildin interfaceBuildable- Specified by:
buildin interfaceSdkBuilder<SdkHttpRequest.Builder,SdkHttpRequest> - Returns:
- an instance of T
-