Package net.morimekta.providence.server
Class ProvidenceHttpServlet<RQ extends net.morimekta.providence.PMessage<RQ,RQF>,RQF extends net.morimekta.providence.descriptor.PField,RS extends net.morimekta.providence.PMessage<RS,RSF>,RSF extends net.morimekta.providence.descriptor.PField>
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- net.morimekta.providence.server.ProvidenceHttpServlet<RQ,RQF,RS,RSF>
-
- All Implemented Interfaces:
java.io.Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
public abstract class ProvidenceHttpServlet<RQ extends net.morimekta.providence.PMessage<RQ,RQF>,RQF extends net.morimekta.providence.descriptor.PField,RS extends net.morimekta.providence.PMessage<RS,RSF>,RSF extends net.morimekta.providence.descriptor.PField> extends javax.servlet.http.HttpServlet
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ProvidenceHttpServlet(net.morimekta.providence.descriptor.PMessageDescriptor<RQ,RQF> requestDescriptor)
ProvidenceHttpServlet(net.morimekta.providence.descriptor.PMessageDescriptor<RQ,RQF> requestDescriptor, net.morimekta.providence.serializer.SerializerProvider serializerProvider)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)
protected java.lang.Throwable
getResponseException(java.lang.Throwable e)
Get the exception to ge handled on failed requests.protected abstract <T extends java.lang.Throwable>
RShandle(javax.servlet.http.HttpServletRequest httpRequest, RQ request)
protected int
statusCodeForException(java.lang.Throwable exception)
With default exception handling, this can simply change the status code used for the response.-
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
-
-
-
-
Method Detail
-
handle
@Nonnull protected abstract <T extends java.lang.Throwable> RS handle(javax.servlet.http.HttpServletRequest httpRequest, RQ request) throws T extends java.lang.Throwable
- Type Parameters:
T
- Thrown exception type.- Parameters:
httpRequest
- The HTTP request.request
- The parsed providence request.- Returns:
- The response object.
- Throws:
T
- Any exception thrown.T extends java.lang.Throwable
-
getResponseException
@Nonnull protected java.lang.Throwable getResponseException(java.lang.Throwable e)
Get the exception to ge handled on failed requests.- Parameters:
e
- The exception seen.- Returns:
- The exception to use as response base.
-
statusCodeForException
protected int statusCodeForException(@Nonnull java.lang.Throwable exception)
With default exception handling, this can simply change the status code used for the response.- Parameters:
exception
- The exception seen.- Returns:
- The status code to be used.
-
doPost
protected void doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws java.io.IOException
- Overrides:
doPost
in classjavax.servlet.http.HttpServlet
- Throws:
java.io.IOException
-
-