Package io.hyperfoil.http.steps
Class HttpRequestStepBuilder
- java.lang.Object
-
- io.hyperfoil.core.builders.BaseStepBuilder<HttpRequestStepBuilder>
-
- io.hyperfoil.http.steps.HttpRequestStepBuilder
-
- All Implemented Interfaces:
io.hyperfoil.api.config.BuilderBase<HttpRequestStepBuilder>,io.hyperfoil.api.config.StepBuilder<HttpRequestStepBuilder>
@MetaInfServices(io.hyperfoil.api.config.StepBuilder.class) public class HttpRequestStepBuilder extends BaseStepBuilder<HttpRequestStepBuilder>
Issues a HTTP request and registers handlers for the response.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceHttpRequestStepBuilder.BodyGeneratorBuilderstatic classHttpRequestStepBuilder.CompensatedResponseRecorderstatic classHttpRequestStepBuilder.CompensationBuilderstatic classHttpRequestStepBuilder.CompressionBuilderstatic classHttpRequestStepBuilder.CompressionTypestatic classHttpRequestStepBuilder.HeadersBuilderstatic classHttpRequestStepBuilder.PartialHeadersBuilderSpecifies value that should be sent in headers.
-
Constructor Summary
Constructors Constructor Description HttpRequestStepBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringGeneratorImplBuilder<HttpRequestStepBuilder>authority()HTTP authority (host:port) this request should target.HttpRequestStepBuilderauthority(StringGeneratorBuilder authority)HttpRequestStepBuilderauthority(io.hyperfoil.function.SerializableFunction<io.hyperfoil.api.session.Session,java.lang.String> authorityGenerator)HttpRequestStepBuilderauthority(java.lang.String authority)HTTP authority (host:port) this request should target.BodyBuilderbody()HTTP request body.HttpRequestStepBuilderbody(io.hyperfoil.function.SerializableBiFunction<io.hyperfoil.api.session.Session,io.hyperfoil.api.connection.Connection,io.netty.buffer.ByteBuf> bodyGenerator)HttpRequestStepBuilderbody(HttpRequestStepBuilder.BodyGeneratorBuilder bodyGenerator)HttpRequestStepBuilderbody(java.lang.String string)HTTP request body (possibly a pattern).java.util.List<io.hyperfoil.api.config.Step>build()HttpRequestStepBuilder.CompensationBuildercompensation()Configures additional metric compensated for coordinated omission.HttpRequestStepBuilder.CompressionBuildercompression()Configure response compression.HttpRequestStepBuildercompression(java.lang.String encoding)Request server to respond with compressed entity using specified content encoding.StringGeneratorImplBuilder<HttpRequestStepBuilder>CONNECT()Issue HTTP CONNECT request to given path.HttpRequestStepBuilderCONNECT(java.lang.String path)Issue HTTP CONNECT request to given path.StringGeneratorImplBuilder<HttpRequestStepBuilder>DELETE()Issue HTTP DELETE request to given path.HttpRequestStepBuilderDELETE(java.lang.String path)Issue HTTP DELETE request to given path.StringGeneratorImplBuilder<HttpRequestStepBuilder>endpoint()HTTP endpoint this request should target.StringGeneratorImplBuilder<HttpRequestStepBuilder>GET()Issue HTTP GET request to given path.HttpRequestStepBuilderGET(java.lang.String path)Issue HTTP GET request to given path.HttpResponseHandlersImpl.Builderhandler()HTTP response handlers.StringGeneratorImplBuilder<HttpRequestStepBuilder>HEAD()Issue HTTP HEAD request to given path.HttpRequestStepBuilderHEAD(java.lang.String path)Issue HTTP HEAD request to given path.HttpRequestStepBuilderheaderAppender(io.hyperfoil.function.SerializableBiConsumer<io.hyperfoil.api.session.Session,HttpRequestWriter> headerAppender)HttpRequestStepBuilderheaderAppenders(java.util.Collection<? extends java.util.function.Supplier<io.hyperfoil.function.SerializableBiConsumer<io.hyperfoil.api.session.Session,HttpRequestWriter>>> appenders)HttpRequestStepBuilder.HeadersBuilderheaders()HTTP headers sent in the request.intid()HttpRequestStepBuildermethod(HttpMethod method)HTTP method used for the request.HttpRequestStepBuildermethod(HttpMethod.Builder method)PathMetricSelectormetric()Allows categorizing request statistics into metrics based on the request path.HttpRequestStepBuildermetric(MetricSelector selector)HttpRequestStepBuildermetric(java.lang.String name)Requests statistics will use this metric name.StringGeneratorImplBuilder<HttpRequestStepBuilder>OPTIONS()Issue HTTP OPTIONS request to given path.HttpRequestStepBuilderOPTIONS(java.lang.String path)Issue HTTP OPTIONS request to given path.StringGeneratorImplBuilder<HttpRequestStepBuilder>PATCH()Issue HTTP PATCH request to given path.HttpRequestStepBuilderPATCH(java.lang.String path)Issue HTTP PATCH request to given path.StringGeneratorImplBuilder<HttpRequestStepBuilder>path()HTTP path (absolute or relative), including query and fragment.HttpRequestStepBuilderpath(StringGeneratorBuilder builder)HttpRequestStepBuilderpath(io.hyperfoil.function.SerializableFunction<io.hyperfoil.api.session.Session,java.lang.String> pathGenerator)HttpRequestStepBuilderpath(java.lang.String path)HTTP path (absolute or relative), including query and fragment.StringGeneratorImplBuilder<HttpRequestStepBuilder>POST()Issue HTTP POST request to given path.HttpRequestStepBuilderPOST(java.lang.String path)Issue HTTP POST request to given path.voidprepareBuild()StringGeneratorImplBuilder<HttpRequestStepBuilder>PUT()Issue HTTP PUT request to given path.HttpRequestStepBuilderPUT(java.lang.String path)Issue HTTP PUT request to given path.io.hyperfoil.api.config.SLABuilder.ListBuilder<HttpRequestStepBuilder>sla()List of SLAs the requests are subject to.HttpRequestStepBuildersync(boolean sync)This request is synchronous; execution of the sequence does not continue until the full response is received.HttpRequestStepBuildertimeout(long timeout, java.util.concurrent.TimeUnit timeUnit)HttpRequestStepBuildertimeout(java.lang.String timeout)Request timeout - after this time the request will be marked as failed and connection will be closed.StringGeneratorImplBuilder<HttpRequestStepBuilder>TRACE()Issue HTTP TRACE request to given path.HttpRequestStepBuilderTRACE(java.lang.String path)Issue HTTP TRACE request to given path.-
Methods inherited from class io.hyperfoil.core.builders.BaseStepBuilder
addTo, endStep
-
-
-
-
Method Detail
-
method
public HttpRequestStepBuilder method(HttpMethod method)
HTTP method used for the request.- Parameters:
method- HTTP method.- Returns:
- Self.
-
method
public HttpRequestStepBuilder method(HttpMethod.Builder method)
-
GET
public HttpRequestStepBuilder GET(java.lang.String path)
Issue HTTP GET request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
GET
public StringGeneratorImplBuilder<HttpRequestStepBuilder> GET()
Issue HTTP GET request to given path.- Returns:
- Builder.
-
HEAD
public HttpRequestStepBuilder HEAD(java.lang.String path)
Issue HTTP HEAD request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
HEAD
public StringGeneratorImplBuilder<HttpRequestStepBuilder> HEAD()
Issue HTTP HEAD request to given path.- Returns:
- Builder.
-
POST
public HttpRequestStepBuilder POST(java.lang.String path)
Issue HTTP POST request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
POST
public StringGeneratorImplBuilder<HttpRequestStepBuilder> POST()
Issue HTTP POST request to given path.- Returns:
- Builder.
-
PUT
public HttpRequestStepBuilder PUT(java.lang.String path)
Issue HTTP PUT request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
PUT
public StringGeneratorImplBuilder<HttpRequestStepBuilder> PUT()
Issue HTTP PUT request to given path.- Returns:
- Builder.
-
DELETE
public HttpRequestStepBuilder DELETE(java.lang.String path)
Issue HTTP DELETE request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
DELETE
public StringGeneratorImplBuilder<HttpRequestStepBuilder> DELETE()
Issue HTTP DELETE request to given path.- Returns:
- Builder.
-
OPTIONS
public HttpRequestStepBuilder OPTIONS(java.lang.String path)
Issue HTTP OPTIONS request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
OPTIONS
public StringGeneratorImplBuilder<HttpRequestStepBuilder> OPTIONS()
Issue HTTP OPTIONS request to given path.- Returns:
- Builder.
-
PATCH
public HttpRequestStepBuilder PATCH(java.lang.String path)
Issue HTTP PATCH request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
PATCH
public StringGeneratorImplBuilder<HttpRequestStepBuilder> PATCH()
Issue HTTP PATCH request to given path.- Returns:
- Builder.
-
TRACE
public HttpRequestStepBuilder TRACE(java.lang.String path)
Issue HTTP TRACE request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
TRACE
public StringGeneratorImplBuilder<HttpRequestStepBuilder> TRACE()
Issue HTTP TRACE request to given path.- Returns:
- Builder.
-
CONNECT
public HttpRequestStepBuilder CONNECT(java.lang.String path)
Issue HTTP CONNECT request to given path. This can be a pattern.- Parameters:
path- HTTP path, a pattern replacing${sessionvar}with variable contents.- Returns:
- Self.
-
CONNECT
public StringGeneratorImplBuilder<HttpRequestStepBuilder> CONNECT()
Issue HTTP CONNECT request to given path.- Returns:
- Builder.
-
authority
public HttpRequestStepBuilder authority(java.lang.String authority)
HTTP authority (host:port) this request should target. Must match one of the entries inhttpsection. The string can use string interpolation.- Parameters:
authority- Host:port.- Returns:
- Self.
-
authority
public HttpRequestStepBuilder authority(io.hyperfoil.function.SerializableFunction<io.hyperfoil.api.session.Session,java.lang.String> authorityGenerator)
-
authority
public StringGeneratorImplBuilder<HttpRequestStepBuilder> authority()
HTTP authority (host:port) this request should target. Must match one of the entries inhttpsection.- Returns:
- Builder.
-
authority
public HttpRequestStepBuilder authority(StringGeneratorBuilder authority)
-
endpoint
public StringGeneratorImplBuilder<HttpRequestStepBuilder> endpoint()
HTTP endpoint this request should target. Must match to thenameof the entries inhttpsection.- Returns:
- Builder.
-
path
public HttpRequestStepBuilder path(java.lang.String path)
HTTP path (absolute or relative), including query and fragment. The string can use string interpolation.- Returns:
- Self.
-
path
public StringGeneratorImplBuilder<HttpRequestStepBuilder> path()
HTTP path (absolute or relative), including query and fragment.- Returns:
- Builder.
-
path
public HttpRequestStepBuilder path(io.hyperfoil.function.SerializableFunction<io.hyperfoil.api.session.Session,java.lang.String> pathGenerator)
-
path
public HttpRequestStepBuilder path(StringGeneratorBuilder builder)
-
body
public HttpRequestStepBuilder body(java.lang.String string)
HTTP request body (possibly a pattern).- Parameters:
string- Request body.- Returns:
- Self.
-
body
public BodyBuilder body()
HTTP request body.- Returns:
- Builder.
-
body
public HttpRequestStepBuilder body(io.hyperfoil.function.SerializableBiFunction<io.hyperfoil.api.session.Session,io.hyperfoil.api.connection.Connection,io.netty.buffer.ByteBuf> bodyGenerator)
-
body
public HttpRequestStepBuilder body(HttpRequestStepBuilder.BodyGeneratorBuilder bodyGenerator)
-
headerAppender
public HttpRequestStepBuilder headerAppender(io.hyperfoil.function.SerializableBiConsumer<io.hyperfoil.api.session.Session,HttpRequestWriter> headerAppender)
-
headerAppenders
public HttpRequestStepBuilder headerAppenders(java.util.Collection<? extends java.util.function.Supplier<io.hyperfoil.function.SerializableBiConsumer<io.hyperfoil.api.session.Session,HttpRequestWriter>>> appenders)
-
headers
public HttpRequestStepBuilder.HeadersBuilder headers()
HTTP headers sent in the request.- Returns:
- Builder.
-
timeout
public HttpRequestStepBuilder timeout(long timeout, java.util.concurrent.TimeUnit timeUnit)
-
timeout
public HttpRequestStepBuilder timeout(java.lang.String timeout)
Request timeout - after this time the request will be marked as failed and connection will be closed.Defaults to value set globally in
httpsection.- Parameters:
timeout- Timeout.- Returns:
- Self.
-
metric
public HttpRequestStepBuilder metric(java.lang.String name)
Requests statistics will use this metric name.- Parameters:
name- Metric name.- Returns:
- Self.
-
metric
public HttpRequestStepBuilder metric(MetricSelector selector)
-
metric
public PathMetricSelector metric()
Allows categorizing request statistics into metrics based on the request path.- Returns:
- Builder.
-
handler
public HttpResponseHandlersImpl.Builder handler()
HTTP response handlers.- Returns:
- Builder.
-
sync
public HttpRequestStepBuilder sync(boolean sync)
This request is synchronous; execution of the sequence does not continue until the full response is received. If this step is executed from multiple parallel instances of this sequence the progress of all sequences is blocked until there is a request in flight without response.Default is
true.- Parameters:
sync- Synchronous?- Returns:
- Self.
-
sla
public io.hyperfoil.api.config.SLABuilder.ListBuilder<HttpRequestStepBuilder> sla()
List of SLAs the requests are subject to.- Returns:
- Builder.
-
compensation
public HttpRequestStepBuilder.CompensationBuilder compensation()
Configures additional metric compensated for coordinated omission.- Returns:
- Builder.
-
compression
public HttpRequestStepBuilder compression(java.lang.String encoding)
Request server to respond with compressed entity using specified content encoding.- Parameters:
encoding- Encoding. Currently supports onlygzip.- Returns:
- Self.
-
compression
public HttpRequestStepBuilder.CompressionBuilder compression()
Configure response compression.- Returns:
- Builder.
-
id
public int id()
-
prepareBuild
public void prepareBuild()
-
build
public java.util.List<io.hyperfoil.api.config.Step> build()
-
-