com.bradmcevoy.http.http11
Interface Http11ResponseHandler

All Superinterfaces:
ETagGenerator
All Known Subinterfaces:
WebDavResponseHandler
All Known Implementing Classes:
AbstractWrappingResponseHandler, CompressingResponseHandler, DefaultHttp11ResponseHandler, DefaultWebDavResponseHandler, MsOfficeResponseHandler

public interface Http11ResponseHandler
extends ETagGenerator

The ResponseHandler should handle all responses back to the client. Methods are provided for each significant response circumstance with respect to Milton. The intention is that implementations may be provided or customised to support per implementation requirements for client compatibility. In other words, hacks to support particular client programs should be implemented here Extends ETagGenerator to facillitate wrapping, although generatlly it will contain an instance and delegate to it.


Method Summary
 void respondBadRequest(Resource resource, Response response, Request request)
          Respond with a 400 status
 void respondConflict(Resource resource, Response response, Request request, java.lang.String message)
           
 void respondContent(Resource resource, Response response, Request request, java.util.Map<java.lang.String,java.lang.String> params)
           
 void respondCreated(Resource resource, Response response, Request request)
           
 void respondDeleteFailed(Request request, Response response, Resource resource, Response.Status status)
          Called when a delete has failed, including the failure status.
 void respondExpectationFailed(Response response, Request request)
          Response with a 417
 void respondForbidden(Resource resource, Response response, Request request)
          Respond with a 403 status - forbidden
 void respondHead(Resource resource, Response response, Request request)
          Generate a HEAD response
 void respondMethodNotAllowed(Resource res, Response response, Request request)
           
 void respondMethodNotImplemented(Resource resource, Response response, Request request)
           
 void respondNoContent(Resource resource, Response response, Request request)
          Invoked when an operation is successful, but there is no content, and there is nothing more specific to return (E.g.
 void respondNotFound(Response response, Request request)
           
 void respondNotModified(GetableResource resource, Response response, Request request)
           
 void respondPartialContent(GetableResource resource, Response response, Request request, java.util.Map<java.lang.String,java.lang.String> params, Range range)
           
 void respondRedirect(Response response, Request request, java.lang.String redirectUrl)
           
 void respondServerError(Request request, Response response, java.lang.String reason)
          Usually a 500 error.
 void respondUnauthorised(Resource resource, Response response, Request request)
           
 void respondWithOptions(Resource resource, Response response, Request request, java.util.List<java.lang.String> methodsAllowed)
           
 
Methods inherited from interface com.bradmcevoy.http.http11.ETagGenerator
generateEtag
 

Method Detail

respondNoContent

void respondNoContent(Resource resource,
                      Response response,
                      Request request)
Invoked when an operation is successful, but there is no content, and there is nothing more specific to return (E.g. created) For example, as a result of a PUT when a resouce has been updated)

Parameters:
resource -
response -
request -

respondContent

void respondContent(Resource resource,
                    Response response,
                    Request request,
                    java.util.Map<java.lang.String,java.lang.String> params)
                    throws NotAuthorizedException,
                           BadRequestException
Throws:
NotAuthorizedException
BadRequestException

respondPartialContent

void respondPartialContent(GetableResource resource,
                           Response response,
                           Request request,
                           java.util.Map<java.lang.String,java.lang.String> params,
                           Range range)
                           throws NotAuthorizedException,
                                  BadRequestException
Throws:
NotAuthorizedException
BadRequestException

respondCreated

void respondCreated(Resource resource,
                    Response response,
                    Request request)

respondUnauthorised

void respondUnauthorised(Resource resource,
                         Response response,
                         Request request)

respondMethodNotImplemented

void respondMethodNotImplemented(Resource resource,
                                 Response response,
                                 Request request)

respondMethodNotAllowed

void respondMethodNotAllowed(Resource res,
                             Response response,
                             Request request)

respondConflict

void respondConflict(Resource resource,
                     Response response,
                     Request request,
                     java.lang.String message)

respondRedirect

void respondRedirect(Response response,
                     Request request,
                     java.lang.String redirectUrl)

respondNotModified

void respondNotModified(GetableResource resource,
                        Response response,
                        Request request)

respondNotFound

void respondNotFound(Response response,
                     Request request)

respondWithOptions

void respondWithOptions(Resource resource,
                        Response response,
                        Request request,
                        java.util.List<java.lang.String> methodsAllowed)

respondHead

void respondHead(Resource resource,
                 Response response,
                 Request request)
Generate a HEAD response

Parameters:
resource -
response -
request -

respondExpectationFailed

void respondExpectationFailed(Response response,
                              Request request)
Response with a 417


respondBadRequest

void respondBadRequest(Resource resource,
                       Response response,
                       Request request)
Respond with a 400 status

Parameters:
resource -
response -
request -
params -

respondForbidden

void respondForbidden(Resource resource,
                      Response response,
                      Request request)
Respond with a 403 status - forbidden

Parameters:
resource -
response -
request -
params -

respondDeleteFailed

void respondDeleteFailed(Request request,
                         Response response,
                         Resource resource,
                         Response.Status status)
Called when a delete has failed, including the failure status. Note that webdav implementations will respond with a multisttus, while http 1.1 implementations will simply set the response status

Parameters:
request -
response -
resource - - the resource which could not be deleted
status - - the status which has caused the delete to fail.

respondServerError

void respondServerError(Request request,
                        Response response,
                        java.lang.String reason)
Usually a 500 error. Some error occured processing the request. Note that you might not be able to assume that this will generate all 500 errors since a runtime exception might result in code outside of milton's control generating the 500 response.

Parameters:
request -
response -
reason -


Copyright © 2011. All Rights Reserved.