public abstract class AbstractHttpService extends Object implements HttpService
HttpService
for easier HTTP service implementation.
This class provides the methods that handles the HTTP requests of the methods their names signify.
For example, doGet()
method handles a
GET
request.
doOptions(ServiceRequestContext, HttpRequest, HttpResponseWriter)
doGet(ServiceRequestContext, HttpRequest, HttpResponseWriter)
doHead(ServiceRequestContext, HttpRequest, HttpResponseWriter)
doPost(ServiceRequestContext, HttpRequest, HttpResponseWriter)
doPut(ServiceRequestContext, HttpRequest, HttpResponseWriter)
doPatch(ServiceRequestContext, HttpRequest, HttpResponseWriter)
doDelete(ServiceRequestContext, HttpRequest, HttpResponseWriter)
doTrace(ServiceRequestContext, HttpRequest, HttpResponseWriter)
405 Method Not Allowed
response
by default. Override one of them to handle requests properly.Constructor and Description |
---|
AbstractHttpService() |
public HttpResponse serve(ServiceRequestContext ctx, HttpRequest req) throws Exception
HttpRequest
by delegating it to the matching 'doMETHOD()'
method.
Override this method to perform an action for the requests of any HTTP methods:
> public class MyHttpService extends AbstractHttpService {
> private final Map<HttpMethod, AtomicInteger> handledRequests = new ConcurrentHashMap<>();
>
> @Override
> public HttpResponse serve(ServiceRequestContext ctx, HttpRequest req) throws Exception {
> final HttpResponse res = super.serve(ctx, req);
> handledRequests.computeIfAbsent(
> req.method(), method -> new AtomicInteger()).incrementAndGet();
> return res;
> }
> }
serve
in interface HttpService
serve
in interface Service<HttpRequest,HttpResponse>
ctx
- the context of the received Request
req
- the received Request
Response
Exception
protected void doOptions(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
OPTIONS
request.
This method sends a 405 Method Not Allowed
response by default.Exception
protected void doGet(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
GET
request.
This method sends a 405 Method Not Allowed
response by default.Exception
protected void doHead(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
HEAD
request.
This method sends a 405 Method Not Allowed
response by default.Exception
protected void doPost(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
POST
request.
This method sends a 405 Method Not Allowed
response by default.Exception
protected void doPut(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
PUT
request.
This method sends a 405 Method Not Allowed
response by default.Exception
protected void doPatch(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
PATCH
request.
This method sends a 405 Method Not Allowed
response by default.Exception
protected void doDelete(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
DELETE
request.
This method sends a 405 Method Not Allowed
response by default.Exception
protected void doTrace(ServiceRequestContext ctx, HttpRequest req, HttpResponseWriter res) throws Exception
TRACE
request.
This method sends a 405 Method Not Allowed
response by default.Exception
© Copyright 2015–2017 LINE Corporation. All rights reserved.