![JAR search and dependency download from the Maven repository](/logo.png)
eu.toolchain.rs.RsRequestContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tiny-rs-api Show documentation
Show all versions of tiny-rs-api Show documentation
A tiny restful framework for Java (API)
package eu.toolchain.rs;
import java.util.Optional;
import java.util.function.Supplier;
import java.util.stream.Stream;
public interface RsRequestContext {
/**
* Get the given path parameter.
*
* @param key Key of the path parameter to get.
* @return An optional containing the value of the path parameter, or empty if none exists.
*/
Optional getPathParameter(final String key);
/**
* Provide a default path parameter.
*
* @param key Key of the path parameter provided.
* @param defaultValue The default value to provide.
* @return An RsParameter representing the default value.
*/
default Supplier provideDefaultPathParameter(String key, String defaultValue) {
return provideDefault(defaultValue);
}
/**
* Get all values for a given query parameter.
*
* @param key Key of the query parameter to get.
* @return An stream containing all available values of the query parameter.
*/
Stream getAllQueryParameters(final String key);
/**
* Get the given query parameter.
*
* @param key Key of the query parameter to get.
* @return An optional containing the value of the query parameter, or empty if none exists.
*/
Optional getQueryParameter(final String key);
/**
* Provide a default query parameter.
*
* @param key Key of the query parameter provided.
* @param defaultValue The default value to provide.
* @return An RsParameter representing the default value.
*/
default Supplier provideDefaultQueryParameter(String key, String defaultValue) {
return provideDefault(defaultValue);
}
/**
* Get all values for a given header parameter.
*
* @param key Key of the header parameter to get.
* @return An stream containing all available values of the header parameter.
*/
Stream getAllHeaderParameters(final String key);
/**
* Get the given header parameter.
*
* @param key Key of the header parameter to get.
* @return An optional containing the value of the header parameter, or empty if none exists.
*/
Optional getHeaderParameter(final String key);
/**
* Provide a default header parameter.
*
* @param key Key of the header parameter provided.
* @param defaultValue The default value to provide.
* @return An RsParameter representing the default value.
*/
default Supplier provideDefaultHeaderParameter(String key, String defaultValue) {
return provideDefault(defaultValue);
}
/**
* Get the payload of the request.
*
* @return An optional containing the payload of the request, or empty if none exists.
*/
Optional getPayload();
/**
* Provide a default value as a parameter.
*
* @param defaultValue The value to provide.
* @return A supplier providing a default value.
*/
Supplier provideDefault(String defaultValue);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy