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 voiddoPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)protected java.lang.ThrowablegetResponseException(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 intstatusCodeForException(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:
doPostin classjavax.servlet.http.HttpServlet- Throws:
java.io.IOException
-
-