Package com.yahoo.restapi
Class RestApiRequestHandler<T extends RestApiRequestHandler<T>>
java.lang.Object
com.yahoo.jdisc.AbstractResource
com.yahoo.jdisc.handler.AbstractRequestHandler
com.yahoo.container.jdisc.ThreadedRequestHandler
com.yahoo.container.jdisc.ThreadedHttpRequestHandler
com.yahoo.restapi.RestApiRequestHandler<T>
- All Implemented Interfaces:
HttpRequestHandler,CapabilityRequiringRequestHandler,RequestHandler,SharedResource
public abstract class RestApiRequestHandler<T extends RestApiRequestHandler<T>>
extends ThreadedHttpRequestHandler
implements CapabilityRequiringRequestHandler
- Author:
- bjorncs
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.yahoo.container.jdisc.ThreadedHttpRequestHandler
ThreadedHttpRequestHandler.Context, ThreadedHttpRequestHandler.LazyContentChannelNested classes/interfaces inherited from interface com.yahoo.jdisc.SharedResource
SharedResource.Debug -
Field Summary
Fields inherited from class com.yahoo.container.jdisc.ThreadedHttpRequestHandler
CONTENT_TYPE, logFields inherited from class com.yahoo.container.jdisc.ThreadedRequestHandler
metric, metricUtilFields inherited from interface com.yahoo.container.jdisc.utils.CapabilityRequiringRequestHandler
DEFAULT_REQUIRED_CAPABILITYFields inherited from interface com.yahoo.jdisc.SharedResource
DEBUG, SYSTEM_PROPERTY_NAME_DEBUG -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRestApiRequestHandler(ThreadedHttpRequestHandler.Context context, RestApi restApi) protectedRestApiRequestHandler(ThreadedHttpRequestHandler.Context context, RestApiRequestHandler.RestApiProvider<T> provider) RestApi will usually refer to handler methods of subclass, which are not accessible before super constructor has completed.protectedRestApiRequestHandler(Executor executor, Metric metric, RestApi restApi) protectedRestApiRequestHandler(Executor executor, Metric metric, RestApiRequestHandler.RestApiProvider<T> provider) -
Method Summary
Modifier and TypeMethodDescriptionfinal HttpResponsehandle(HttpRequest request) Override this to implement a synchronous style handler.com.yahoo.security.tls.CapabilitySetrestApi()Methods inherited from class com.yahoo.container.jdisc.ThreadedHttpRequestHandler
addDateHeader, asHttpRequest, createLoggingCompletionHandler, handle, handleRequest, testContextMethods inherited from class com.yahoo.container.jdisc.ThreadedRequestHandler
executor, getRequestType, getTimeout, handleRequest, writeErrorResponseOnOverloadMethods inherited from class com.yahoo.jdisc.handler.AbstractRequestHandler
handleTimeoutMethods inherited from class com.yahoo.jdisc.AbstractResource
currentState, destroy, refer, refer, release, retainCountMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.yahoo.container.jdisc.utils.CapabilityRequiringRequestHandler
requiredCapabilityMethods inherited from interface com.yahoo.jdisc.handler.RequestHandler
handleRequest, handleTimeoutMethods inherited from interface com.yahoo.jdisc.SharedResource
refer, refer, release
-
Constructor Details
-
RestApiRequestHandler
protected RestApiRequestHandler(ThreadedHttpRequestHandler.Context context, RestApiRequestHandler.RestApiProvider<T> provider) RestApi will usually refer to handler methods of subclass, which are not accessible before super constructor has completed. This is hack to leak reference to subclass instance's "this" reference. Caller must ensure that provider instance does not try to access any uninitialized fields. -
RestApiRequestHandler
protected RestApiRequestHandler(Executor executor, Metric metric, RestApiRequestHandler.RestApiProvider<T> provider) -
RestApiRequestHandler
-
RestApiRequestHandler
-
-
Method Details
-
handle
Description copied from class:ThreadedHttpRequestHandlerOverride this to implement a synchronous style handler.- Specified by:
handlein classThreadedHttpRequestHandler- Parameters:
request- incoming HTTP request- Returns:
- a valid HTTP response for presentation to the user
-
requestHandlerSpec
- Specified by:
requestHandlerSpecin interfaceHttpRequestHandler- Returns:
- handler specification
-
requiredCapabilities
- Specified by:
requiredCapabilitiesin interfaceCapabilityRequiringRequestHandler
-
restApi
-