Package io.ryos.rhino.sdk.dsl.impl
Class HttpDslImpl
- java.lang.Object
-
- io.ryos.rhino.sdk.dsl.impl.AbstractDSLItem
-
- io.ryos.rhino.sdk.dsl.impl.AbstractMeasurableDsl
-
- io.ryos.rhino.sdk.dsl.impl.AbstractSessionDslItem
-
- io.ryos.rhino.sdk.dsl.impl.HttpDslImpl
-
- All Implemented Interfaces:
DslItem
,HttpConfigDsl
,HttpDsl
,HttpMethodDsl
,HttpResponseDsl
,HttpRetriableDsl
,MaterializableDsl
,MaterializableDslItem
,MeasurableDsl
,ResultingDsl<HttpResponse>
,RetriableDsl<MeasurableDsl,HttpResponse>
,SessionDslItem
,VerifiableDslItem
public class HttpDslImpl extends AbstractSessionDslItem implements HttpDsl, HttpConfigDsl, HttpRetriableDsl
HTTP spec implementation ofMaterializableDslItem
.- Since:
- 1.1.0
- Author:
- Erhan Bagdemir
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HttpDslImpl.RetryInfo
-
Nested classes/interfaces inherited from interface io.ryos.rhino.sdk.dsl.HttpDsl
HttpDsl.Method
-
Nested classes/interfaces inherited from interface io.ryos.rhino.sdk.dsl.SessionDslItem
SessionDslItem.Scope
-
-
Constructor Summary
Constructors Constructor Description HttpDslImpl(java.lang.String name)
Creates a newHttpDslImpl
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpConfigDsl
auth()
HttpConfigDsl
auth(User user)
HttpConfigDsl
auth(java.util.function.Function<UserSession,User> sessionAccessor)
HttpConfigDsl
auth(java.util.function.Supplier<User> userSupplier)
Requires an authorized user in HTTP requests.HttpRetriableDsl
delete()
HttpConfigDsl
endpoint(java.lang.String endpoint)
HttpConfigDsl
endpoint(java.util.function.BiFunction<UserSession,HttpDsl,java.lang.String> endpoint)
HttpConfigDsl
endpoint(java.util.function.Function<UserSession,java.lang.String> endpoint)
HttpConfigDsl
formParam(java.lang.String paramName, java.lang.String value)
HttpConfigDsl
formParam(java.lang.String paramName, java.util.List<java.lang.String> values)
HttpConfigDsl
formParam(java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> formParamFunction)
HttpRetriableDsl
get()
User
getAuthUser()
java.util.List<MaterializableDslItem>
getChildren()
java.util.function.Function<UserSession,java.lang.String>
getEndpoint()
java.util.List<java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>>>
getFormParameters()
java.util.List<java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>>>
getHeaders()
java.util.function.Function<UserSession,java.lang.String>
getLazyStringPayload()
HttpDsl.Method
getMethod()
java.util.List<java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>>>
getQueryParameters()
HttpResponse
getResponse()
HttpDslImpl.RetryInfo
getRetryInfo()
java.lang.String
getSaveTo()
java.util.function.Supplier<java.io.InputStream>
getUploadContent()
java.util.function.Function<UserSession,User>
getUserAccessor()
java.util.function.Supplier<User>
getUserSupplier()
VerificationInfo
getVerifier()
UserSession
handleResult(UserSession userSession, HttpResponse response)
HttpRetriableDsl
head()
HttpConfigDsl
header(java.lang.String name, java.lang.String value)
HttpConfigDsl
header(java.lang.String name, java.util.List<java.lang.String> values)
HttpConfigDsl
header(java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> headerFunction)
Adds a new header into headers.boolean
isAuth()
boolean
isWaitResult()
DslMaterializer
materializer()
Create materializer instance for this spec instance.HttpRetriableDsl
options()
HttpRetriableDsl
patch()
HttpConfigDsl
payload(java.lang.String stringPayload)
HttpConfigDsl
payload(java.util.function.Function<UserSession,java.lang.String> payloadFunction)
HttpConfigDsl
payload(java.util.function.Supplier<java.io.InputStream> inputStreamSupplier)
HttpRetriableDsl
post()
HttpRetriableDsl
put()
HttpConfigDsl
queryParam(java.lang.String queryParamName, java.lang.String value)
HttpConfigDsl
queryParam(java.lang.String queryParamName, java.util.List<java.lang.String> values)
HttpConfigDsl
queryParam(java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> queryParamFunction)
MeasurableDsl
retryIf(java.util.function.Predicate<HttpResponse> predicate, int numOfRetries)
Retries, if the predicate is true and the current attempt less then numOfRetries.HttpDsl
saveTo(java.lang.String sessionKey)
HttpDsl
saveTo(java.lang.String sessionKey, SessionDslItem.Scope scope)
void
setResponse(HttpResponse response)
void
setVerifier(VerificationInfo predicate)
HttpConfigDsl
upload(java.util.function.Supplier<java.io.InputStream> inputStreamSupplier)
HttpDsl
waitResult()
-
Methods inherited from class io.ryos.rhino.sdk.dsl.impl.AbstractSessionDslItem
getObjectFunction, getSessionKey, getSessionScope, setSessionKey, setSessionScope
-
Methods inherited from class io.ryos.rhino.sdk.dsl.impl.AbstractMeasurableDsl
cumulative, getMeasurementPoint, isCumulative, isMeasurementEnabled, noMeasurement
-
Methods inherited from class io.ryos.rhino.sdk.dsl.impl.AbstractDSLItem
getName, getParent, getParentName, hasParent, setName, setParent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.ryos.rhino.sdk.dsl.DslItem
getName, getParent, getParentName, hasParent, setName, setParent
-
Methods inherited from interface io.ryos.rhino.sdk.dsl.MeasurableDsl
cumulative, getMeasurementPoint, isCumulative, isMeasurementEnabled, noMeasurement
-
Methods inherited from interface io.ryos.rhino.sdk.dsl.SessionDslItem
getObjectFunction, getSessionKey, getSessionScope, setSessionKey, setSessionScope
-
-
-
-
Constructor Detail
-
HttpDslImpl
public HttpDslImpl(java.lang.String name)
Creates a newHttpDslImpl
.- Parameters:
name
- The name of the measurement.
-
-
Method Detail
-
get
public HttpRetriableDsl get()
- Specified by:
get
in interfaceHttpMethodDsl
-
head
public HttpRetriableDsl head()
- Specified by:
head
in interfaceHttpMethodDsl
-
put
public HttpRetriableDsl put()
- Specified by:
put
in interfaceHttpMethodDsl
-
patch
public HttpRetriableDsl patch()
- Specified by:
patch
in interfaceHttpMethodDsl
-
post
public HttpRetriableDsl post()
- Specified by:
post
in interfaceHttpMethodDsl
-
delete
public HttpRetriableDsl delete()
- Specified by:
delete
in interfaceHttpMethodDsl
-
options
public HttpRetriableDsl options()
- Specified by:
options
in interfaceHttpMethodDsl
-
endpoint
public HttpConfigDsl endpoint(java.lang.String endpoint)
- Specified by:
endpoint
in interfaceHttpConfigDsl
-
endpoint
public HttpConfigDsl endpoint(java.util.function.Function<UserSession,java.lang.String> endpoint)
- Specified by:
endpoint
in interfaceHttpConfigDsl
-
endpoint
public HttpConfigDsl endpoint(java.util.function.BiFunction<UserSession,HttpDsl,java.lang.String> endpoint)
- Specified by:
endpoint
in interfaceHttpConfigDsl
-
header
public HttpConfigDsl header(java.lang.String name, java.util.List<java.lang.String> values)
- Specified by:
header
in interfaceHttpConfigDsl
-
header
public HttpConfigDsl header(java.lang.String name, java.lang.String value)
- Specified by:
header
in interfaceHttpConfigDsl
-
header
public HttpConfigDsl header(java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> headerFunction)
Description copied from interface:HttpConfigDsl
Adds a new header into headers.- Specified by:
header
in interfaceHttpConfigDsl
- Parameters:
headerFunction
- Function to get the header value.- Returns:
HttpDsl
instance with headers initialized.
-
formParam
public HttpConfigDsl formParam(java.lang.String paramName, java.util.List<java.lang.String> values)
- Specified by:
formParam
in interfaceHttpConfigDsl
-
formParam
public HttpConfigDsl formParam(java.lang.String paramName, java.lang.String value)
- Specified by:
formParam
in interfaceHttpConfigDsl
-
formParam
public HttpConfigDsl formParam(java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> formParamFunction)
- Specified by:
formParam
in interfaceHttpConfigDsl
-
auth
public HttpConfigDsl auth()
- Specified by:
auth
in interfaceHttpConfigDsl
-
auth
public HttpConfigDsl auth(User user)
- Specified by:
auth
in interfaceHttpConfigDsl
-
auth
public HttpConfigDsl auth(java.util.function.Function<UserSession,User> sessionAccessor)
- Specified by:
auth
in interfaceHttpConfigDsl
-
auth
public HttpConfigDsl auth(java.util.function.Supplier<User> userSupplier)
Description copied from interface:HttpConfigDsl
Requires an authorized user in HTTP requests.- Specified by:
auth
in interfaceHttpConfigDsl
- Parameters:
userSupplier
- User supplier.- Returns:
- Instance of
HttpConfigDsl
.
-
queryParam
public HttpConfigDsl queryParam(java.lang.String queryParamName, java.util.List<java.lang.String> values)
- Specified by:
queryParam
in interfaceHttpConfigDsl
-
queryParam
public HttpConfigDsl queryParam(java.lang.String queryParamName, java.lang.String value)
- Specified by:
queryParam
in interfaceHttpConfigDsl
-
queryParam
public HttpConfigDsl queryParam(java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>> queryParamFunction)
- Specified by:
queryParam
in interfaceHttpConfigDsl
-
upload
public HttpConfigDsl upload(java.util.function.Supplier<java.io.InputStream> inputStreamSupplier)
- Specified by:
upload
in interfaceHttpConfigDsl
-
payload
public HttpConfigDsl payload(java.util.function.Supplier<java.io.InputStream> inputStreamSupplier)
- Specified by:
payload
in interfaceHttpConfigDsl
-
payload
public HttpConfigDsl payload(java.util.function.Function<UserSession,java.lang.String> payloadFunction)
- Specified by:
payload
in interfaceHttpConfigDsl
-
payload
public HttpConfigDsl payload(java.lang.String stringPayload)
- Specified by:
payload
in interfaceHttpConfigDsl
-
retryIf
public MeasurableDsl retryIf(java.util.function.Predicate<HttpResponse> predicate, int numOfRetries)
Description copied from interface:RetriableDsl
Retries, if the predicate is true and the current attempt less then numOfRetries.- Specified by:
retryIf
in interfaceHttpRetriableDsl
- Specified by:
retryIf
in interfaceRetriableDsl<MeasurableDsl,HttpResponse>
- Parameters:
predicate
- If predicate turns true, then the spec will be repeated.numOfRetries
- Number of retries.- Returns:
- The spec instance which is to be repeated.
-
saveTo
public HttpDsl saveTo(java.lang.String sessionKey, SessionDslItem.Scope scope)
- Specified by:
saveTo
in interfaceHttpResponseDsl
-
saveTo
public HttpDsl saveTo(java.lang.String sessionKey)
- Specified by:
saveTo
in interfaceHttpResponseDsl
-
getUploadContent
public java.util.function.Supplier<java.io.InputStream> getUploadContent()
- Specified by:
getUploadContent
in interfaceHttpDsl
-
getLazyStringPayload
public java.util.function.Function<UserSession,java.lang.String> getLazyStringPayload()
- Specified by:
getLazyStringPayload
in interfaceHttpDsl
-
getMethod
public HttpDsl.Method getMethod()
-
waitResult
public HttpDsl waitResult()
- Specified by:
waitResult
in interfaceHttpDsl
-
getHeaders
public java.util.List<java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>>> getHeaders()
- Specified by:
getHeaders
in interfaceHttpDsl
-
getQueryParameters
public java.util.List<java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>>> getQueryParameters()
- Specified by:
getQueryParameters
in interfaceHttpDsl
-
getFormParameters
public java.util.List<java.util.function.Function<UserSession,java.util.Map.Entry<java.lang.String,java.util.List<java.lang.String>>>> getFormParameters()
- Specified by:
getFormParameters
in interfaceHttpDsl
-
getEndpoint
public java.util.function.Function<UserSession,java.lang.String> getEndpoint()
- Specified by:
getEndpoint
in interfaceHttpDsl
-
getAuthUser
public User getAuthUser()
- Specified by:
getAuthUser
in interfaceHttpDsl
-
getSaveTo
public java.lang.String getSaveTo()
- Specified by:
getSaveTo
in interfaceResultingDsl<HttpResponse>
-
getResponse
public HttpResponse getResponse()
- Specified by:
getResponse
in interfaceHttpDsl
-
setResponse
public void setResponse(HttpResponse response)
- Specified by:
setResponse
in interfaceHttpDsl
-
getUserAccessor
public java.util.function.Function<UserSession,User> getUserAccessor()
- Specified by:
getUserAccessor
in interfaceHttpConfigDsl
- Specified by:
getUserAccessor
in interfaceHttpDsl
-
getUserSupplier
public java.util.function.Supplier<User> getUserSupplier()
- Specified by:
getUserSupplier
in interfaceHttpConfigDsl
- Specified by:
getUserSupplier
in interfaceHttpDsl
-
getRetryInfo
public HttpDslImpl.RetryInfo getRetryInfo()
- Specified by:
getRetryInfo
in interfaceHttpDsl
-
isWaitResult
public boolean isWaitResult()
- Specified by:
isWaitResult
in interfaceHttpDsl
-
materializer
public DslMaterializer materializer()
Description copied from interface:MaterializableDsl
Create materializer instance for this spec instance.- Specified by:
materializer
in interfaceMaterializableDsl
- Returns:
DslMaterializer
instance.
-
handleResult
public UserSession handleResult(UserSession userSession, HttpResponse response)
- Specified by:
handleResult
in interfaceResultingDsl<HttpResponse>
-
getChildren
public java.util.List<MaterializableDslItem> getChildren()
- Specified by:
getChildren
in interfaceDslItem
-
getVerifier
public VerificationInfo getVerifier()
- Specified by:
getVerifier
in interfaceVerifiableDslItem
-
setVerifier
public void setVerifier(VerificationInfo predicate)
- Specified by:
setVerifier
in interfaceVerifiableDslItem
-
-