Module io.helidon.cors
Package io.helidon.cors
Class CorsSupportBase<Q,R,T extends CorsSupportBase<Q,R,T,B>,B extends CorsSupportBase.Builder<Q,R,T,B>>         
java.lang.Object
io.helidon.cors.CorsSupportBase<Q,R,T,B>   
- Type Parameters:
 Q- request type wrapped by request adapterR- response type wrapped by response adapterT- concrete subclass ofCorsSupportBaseB- builder for concrete type<T>
- Direct Known Subclasses:
 CorsSupport
public abstract class CorsSupportBase<Q,R,T extends CorsSupportBase<Q,R,T,B>,B extends CorsSupportBase.Builder<Q,R,T,B>>         
extends Object
A Helidon service and handler implementation that implements CORS, for both the application and for built-in Helidon
 services (such as OpenAPI and metrics).
 
     The caller can set up the CorsSupportBase in a combination of these ways:
 
- from a 
Confignode supplied programmatically, - from one or more 
CrossOriginConfigobjects supplied programmatically, each associated with a path to which it applies, and - by setting individual CORS-related attributes on the 
CorsSupportBase.Builder(which affects the CORS behavior for the "{+}" path). 
     See the CorsSupportBase.Builder.build() method for how the builder resolves conflicts among these sources.
 
     If none of these sources is used, the CorsSupportBase applies defaults as described for
     CrossOriginConfig.
 
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classCorsSupportBase.Builder<Q,R, T extends CorsSupportBase<Q, R, T, B>, B extends CorsSupportBase.Builder<Q, R, T, B>> Builder forCorsSupportBaseinstances. - 
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCorsSupportBase(CorsSupportBase.Builder<Q, R, T, B> builder)  - 
Method Summary
Modifier and TypeMethodDescriptionprotected Stringdescribe()protected CorsSupportHelper<Q, R> helper()protected Stringname()protected voidprepareResponse(CorsRequestAdapter<Q> requestAdapter, CorsResponseAdapter<R> responseAdapter) Not for developer user. Gets a response ready to participate in the CORS protocol.processRequest(CorsRequestAdapter<Q> requestAdapter, CorsResponseAdapter<R> responseAdapter) Not for developer use. Submits a request adapter and response adapter for CORS processing. 
- 
Constructor Details
- 
CorsSupportBase
 
 - 
 - 
Method Details
- 
processRequest
protected Optional<R> processRequest(CorsRequestAdapter<Q> requestAdapter, CorsResponseAdapter<R> responseAdapter) Not for developer use. Submits a request adapter and response adapter for CORS processing.- Parameters:
 requestAdapter- wrapper around the requestresponseAdapter- wrapper around the response- Returns:
 - Optional of the response type U; present if the response should be returned, empty if request processing should continue
 
 - 
prepareResponse
protected void prepareResponse(CorsRequestAdapter<Q> requestAdapter, CorsResponseAdapter<R> responseAdapter) Not for developer user. Gets a response ready to participate in the CORS protocol.- Parameters:
 requestAdapter- wrapper around the requestresponseAdapter- wrapper around the reseponse
 - 
helper
 - 
describe
 - 
name
 
 -