All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.restassured.specification.RequestSenderOptions Maven / Gradle / Ivy

There is a newer version: 5.5.0
Show newest version
/*
 * Copyright 2019 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.restassured.specification;

import io.restassured.http.Method;
import io.restassured.response.ResponseOptions;

import java.net.URI;
import java.net.URL;
import java.util.Map;

/**
 * Options available when sending a request.
 *
 * @param  The type of response options.
 */
public interface RequestSenderOptions> {
    /**
     * Perform a GET request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do get("/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R get(String path, Object... pathParams);

    /**
     * Perform a GET request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters.
     * @return The response of the request.
     */
    R get(String path, Map pathParams);

    /**
     * Perform a POST request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do post("/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R post(String path, Object... pathParams);

    /**
     * Perform a POST request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters.
     * @return The response of the request.
     */
    R post(String path, Map pathParams);

    /**
     * Perform a PUT request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do put("/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R put(String path, Object... pathParams);

    /**
     * Perform a PUT request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters.
     * @return The response of the request.
     */
    R put(String path, Map pathParams);

    /**
     * Perform a DELETE request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do delete("/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R delete(String path, Object... pathParams);

    /**
     * Perform a DELETE request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters.
     * @return The response of the request.
     */
    R delete(String path, Map pathParams);

    /**
     * Perform a HEAD request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do head("/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R head(String path, Object... pathParams);

    /**
     * Perform a HEAD request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters.
     * @return The response of the request.
     */
    R head(String path, Map pathParams);

    /**
     * Perform a PATCH request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do head("/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R patch(String path, Object... pathParams);

    /**
     * Perform a PATCH request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters.
     * @return The response of the request.
     */
    R patch(String path, Map pathParams);

    /**
     * Perform a OPTIONS request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do head("/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R options(String path, Object... pathParams);


    /**
     * Perform a OPTIONS request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param path       The path to send the request to.
     * @param pathParams The path parameters.
     * @return The response of the request.
     */
    R options(String path, Map pathParams);

    /**
     * Perform a GET request to a uri.
     *
     * @param uri The uri to send the request to.
     * @return The response of the GET request.
     */
    R get(URI uri);

    /**
     * Perform a POST request to a uri.
     *
     * @param uri The uri to send the request to.
     * @return The response of the request.
     */
    R post(URI uri);

    /**
     * Perform a PUT request to a uri.
     *
     * @param uri The uri to send the request to.
     * @return The response of the request.
     */
    R put(URI uri);

    /**
     * Perform a DELETE request to a uri.
     *
     * @param uri The uri to send the request to.
     * @return The response of the request.
     */
    R delete(URI uri);

    /**
     * Perform a HEAD request to a uri.
     *
     * @param uri The uri to send the request to.
     * @return The response of the request.
     */
    R head(URI uri);

    /**
     * Perform a PATCH request to a uri.
     *
     * @param uri The uri to send the request to.
     * @return The response of the request.
     */
    R patch(URI uri);

    /**
     * Perform a OPTIONS request to a uri.
     *
     * @param uri The uri to send the request to.
     * @return The response of the request.
     */
    R options(URI uri);

    /**
     * Perform a GET request to a url.
     *
     * @param url The url to send the request to.
     * @return The response of the GET request.
     */
    R get(URL url);

    /**
     * Perform a POST request to a url.
     *
     * @param url The url to send the request to.
     * @return The response of the request.
     */
    R post(URL url);

    /**
     * Perform a PUT request to a url.
     *
     * @param url The url to send the request to.
     * @return The response of the request.
     */
    R put(URL url);

    /**
     * Perform a DELETE request to a url.
     *
     * @param url The url to send the request to.
     * @return The response of the request.
     */
    R delete(URL url);

    /**
     * Perform a HEAD request to a url.
     *
     * @param url The url to send the request to.
     * @return The response of the request.
     */
    R head(URL url);

    /**
     * Perform a PATCH request to a url.
     *
     * @param url The url to send the request to.
     * @return The response of the request.
     */
    R patch(URL url);

    /**
     * Perform a OPTIONS request to a url.
     *
     * @param url The url to send the request to.
     * @return The response of the request.
     */
    R options(URL url);

    /**
     * Perform a GET request to the statically configured path (by default http://localhost:8080).
     *
     * @return The response of the GET request.
     */
    R get();

    /**
     * Perform a POST request to the statically configured path (by default http://localhost:8080).
     *
     * @return The response of the request.
     */
    R post();

    /**
     * Perform a PUT request to the statically configured path (by default http://localhost:8080).
     *
     * @return The response of the request.
     */
    R put();

    /**
     * Perform a DELETE request to the statically configured path (by default http://localhost:8080).
     *
     * @return The response of the request.
     */
    R delete();

    /**
     * Perform a HEAD request to the statically configured path (by default http://localhost:8080).
     *
     * @return The response of the request.
     */
    R head();

    /**
     * Perform a PATCH request to the statically configured path (by default http://localhost:8080).
     *
     * @return The response of the request.
     */
    R patch();

    /**
     * Perform a OPTIONS request to the statically configured path (by default http://localhost:8080).
     *
     * @return The response of the request.
     */
    R options();

    /**
     * Perform a request to the pre-configured path (by default http://localhost:8080).
     *
     * @param method The HTTP method to use
     * @return The response of the request.
     */
    R request(Method method);

    /**
     * Perform a custom HTTP request to the pre-configured path (by default http://localhost:8080).
     *
     * @param method The HTTP method to use
     * @return The response of the request.
     */
    R request(String method);

    /**
     * Perform a HTTP request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param method     The HTTP method to use
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do request(Method.TRACE,"/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R request(Method method, String path, Object... pathParams);

    /**
     * Perform a custom HTTP request to a path. Normally the path doesn't have to be fully-qualified e.g. you don't need to
     * specify the path as http://localhost:8080/path. In this case it's enough to use /path.
     *
     * @param method     The HTTP method to use
     * @param path       The path to send the request to.
     * @param pathParams The path parameters. E.g. if path is "/book/{hotelId}/{roomNumber}" you can do request("method","/book/{hotelName}/{roomNumber}", "Hotels R Us", 22);.
     * @return The response of the request.
     */
    R request(String method, String path, Object... pathParams);

    /**
     * Perform a request to a uri.
     *
     * @param method The HTTP method to use
     * @param uri    The uri to send the request to.
     * @return The response of the request.
     */
    R request(Method method, URI uri);

    /**
     * Perform a request to a url.
     *
     * @param method The HTTP method to use
     * @param url    The url to send the request to.
     * @return The response of the request.
     */
    R request(Method method, URL url);

    /**
     * Perform a custom HTTP request to a uri.
     *
     * @param method The HTTP method to use
     * @param uri    The uri to send the request to.
     * @return The response of the request.
     */
    R request(String method, URI uri);

    /**
     * Perform a custom HTTP request to a url.
     *
     * @param method The HTTP method to use
     * @param url    The url to send the request to.
     * @return The response of the request.
     */
    R request(String method, URL url);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy