Data class representing the options for a request.
The body of the request. This can be null if the request does not have a body.
The headers of the request. This can be null if the request does not have any headers.
The number of retries for the request. This can be null if there are no retries specified.
A predicate that determines when to retry the request. If this is null, the request will be retried as long as the number of attempts is less or equal than the number of retries.
The timeout for the request. This can be null if there is no specific timeout for the request.
A predicate that validates the response. If this is null, the response will be considered valid if the status code is between the range 200-299.