com.bradmcevoy.http
Class AbstractWrappingResponseHandler

java.lang.Object
  extended by com.bradmcevoy.http.AbstractWrappingResponseHandler
All Implemented Interfaces:
ETagGenerator, Http11ResponseHandler, WebDavResponseHandler
Direct Known Subclasses:
CompressingResponseHandler, MsOfficeResponseHandler

public abstract class AbstractWrappingResponseHandler
extends java.lang.Object
implements WebDavResponseHandler

Response Handler which wraps another

Author:
brad

Field Summary
protected  WebDavResponseHandler wrapped
          The underlying respond handler which takes care of actually generating content
 
Constructor Summary
AbstractWrappingResponseHandler()
           
AbstractWrappingResponseHandler(WebDavResponseHandler wrapped)
           
 
Method Summary
 java.lang.String generateEtag(Resource r)
          ETag's serve to identify a particular version of a particular resource.
 WebDavResponseHandler getWrapped()
           
 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 respondInsufficientStorage(Request request, Response response, StorageChecker.StorageErrorReason storageErrorReason)
           
 void respondLocked(Request request, Response response, Resource existingResource)
           
 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 respondPreconditionFailed(Request request, Response response, Resource resource)
          Generate a 412 response,
 void respondPropFind(java.util.List<PropFindResponse> propFindResponses, Response response, Request request, PropFindableResource pfr)
           
 void respondPropFind(java.util.List<PropFindResponse> propFindResponses, Response response, Request request, Resource r)
          Generate the response for a PROPFIND or a PROPPATCH
 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)
           
 void responseMultiStatus(Resource resource, Response response, Request request, java.util.List<HrefStatus> statii)
           
 void setWrapped(WebDavResponseHandler wrapped)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

wrapped

protected WebDavResponseHandler wrapped
The underlying respond handler which takes care of actually generating content

Constructor Detail

AbstractWrappingResponseHandler

public AbstractWrappingResponseHandler()

AbstractWrappingResponseHandler

public AbstractWrappingResponseHandler(WebDavResponseHandler wrapped)
Method Detail

generateEtag

public java.lang.String generateEtag(Resource r)
Description copied from interface: ETagGenerator
ETag's serve to identify a particular version of a particular resource. If the resource changes, or is replaced, then this value should change

Specified by:
generateEtag in interface ETagGenerator
Parameters:
r - - the resource to generate the ETag for
Returns:
- an ETag which uniquely identifies this version of this resource

respondContent

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

setWrapped

public void setWrapped(WebDavResponseHandler wrapped)

getWrapped

public WebDavResponseHandler getWrapped()

respondNoContent

public void respondNoContent(Resource resource,
                             Response response,
                             Request request)
Description copied from interface: Http11ResponseHandler
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)

Specified by:
respondNoContent in interface Http11ResponseHandler

respondPartialContent

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

respondCreated

public void respondCreated(Resource resource,
                           Response response,
                           Request request)
Specified by:
respondCreated in interface Http11ResponseHandler

respondUnauthorised

public void respondUnauthorised(Resource resource,
                                Response response,
                                Request request)
Specified by:
respondUnauthorised in interface Http11ResponseHandler

respondMethodNotImplemented

public void respondMethodNotImplemented(Resource resource,
                                        Response response,
                                        Request request)
Specified by:
respondMethodNotImplemented in interface Http11ResponseHandler

respondMethodNotAllowed

public void respondMethodNotAllowed(Resource res,
                                    Response response,
                                    Request request)
Specified by:
respondMethodNotAllowed in interface Http11ResponseHandler

respondConflict

public void respondConflict(Resource resource,
                            Response response,
                            Request request,
                            java.lang.String message)
Specified by:
respondConflict in interface Http11ResponseHandler

respondRedirect

public void respondRedirect(Response response,
                            Request request,
                            java.lang.String redirectUrl)
Specified by:
respondRedirect in interface Http11ResponseHandler

responseMultiStatus

public void responseMultiStatus(Resource resource,
                                Response response,
                                Request request,
                                java.util.List<HrefStatus> statii)
Specified by:
responseMultiStatus in interface WebDavResponseHandler

respondNotModified

public void respondNotModified(GetableResource resource,
                               Response response,
                               Request request)
Specified by:
respondNotModified in interface Http11ResponseHandler

respondNotFound

public void respondNotFound(Response response,
                            Request request)
Specified by:
respondNotFound in interface Http11ResponseHandler

respondWithOptions

public void respondWithOptions(Resource resource,
                               Response response,
                               Request request,
                               java.util.List<java.lang.String> methodsAllowed)
Specified by:
respondWithOptions in interface Http11ResponseHandler

respondHead

public void respondHead(Resource resource,
                        Response response,
                        Request request)
Description copied from interface: Http11ResponseHandler
Generate a HEAD response

Specified by:
respondHead in interface Http11ResponseHandler

respondExpectationFailed

public void respondExpectationFailed(Response response,
                                     Request request)
Description copied from interface: Http11ResponseHandler
Response with a 417

Specified by:
respondExpectationFailed in interface Http11ResponseHandler

respondBadRequest

public void respondBadRequest(Resource resource,
                              Response response,
                              Request request)
Description copied from interface: Http11ResponseHandler
Respond with a 400 status

Specified by:
respondBadRequest in interface Http11ResponseHandler

respondForbidden

public void respondForbidden(Resource resource,
                             Response response,
                             Request request)
Description copied from interface: Http11ResponseHandler
Respond with a 403 status - forbidden

Specified by:
respondForbidden in interface Http11ResponseHandler

respondDeleteFailed

public void respondDeleteFailed(Request request,
                                Response response,
                                Resource resource,
                                Response.Status status)
Description copied from interface: Http11ResponseHandler
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

Specified by:
respondDeleteFailed in interface Http11ResponseHandler
resource - - the resource which could not be deleted
status - - the status which has caused the delete to fail.

respondPropFind

public void respondPropFind(java.util.List<PropFindResponse> propFindResponses,
                            Response response,
                            Request request,
                            PropFindableResource pfr)

respondPropFind

public void respondPropFind(java.util.List<PropFindResponse> propFindResponses,
                            Response response,
                            Request request,
                            Resource r)
Description copied from interface: WebDavResponseHandler
Generate the response for a PROPFIND or a PROPPATCH

Specified by:
respondPropFind in interface WebDavResponseHandler
r - - the resource

respondServerError

public void respondServerError(Request request,
                               Response response,
                               java.lang.String reason)
Description copied from interface: Http11ResponseHandler
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.

Specified by:
respondServerError in interface Http11ResponseHandler

respondInsufficientStorage

public void respondInsufficientStorage(Request request,
                                       Response response,
                                       StorageChecker.StorageErrorReason storageErrorReason)
Specified by:
respondInsufficientStorage in interface WebDavResponseHandler

respondLocked

public void respondLocked(Request request,
                          Response response,
                          Resource existingResource)
Specified by:
respondLocked in interface WebDavResponseHandler

respondPreconditionFailed

public void respondPreconditionFailed(Request request,
                                      Response response,
                                      Resource resource)
Description copied from interface: WebDavResponseHandler
Generate a 412 response,

Specified by:
respondPreconditionFailed in interface WebDavResponseHandler


Copyright © 2011. All Rights Reserved.