com.bradmcevoy.http.webdav
Class DefaultWebDavResponseHandler

java.lang.Object
  extended by com.bradmcevoy.http.webdav.DefaultWebDavResponseHandler
All Implemented Interfaces:
ETagGenerator, Http11ResponseHandler, WebDavResponseHandler

public class DefaultWebDavResponseHandler
extends java.lang.Object
implements WebDavResponseHandler

Author:
brad

Field Summary
protected  PropFindXmlGenerator propFindXmlGenerator
           
protected  ResourceTypeHelper resourceTypeHelper
           
protected  Http11ResponseHandler wrapped
           
 
Constructor Summary
DefaultWebDavResponseHandler(AuthenticationService authenticationService)
           
DefaultWebDavResponseHandler(AuthenticationService authenticationService, ResourceTypeHelper resourceTypeHelper)
           
DefaultWebDavResponseHandler(Http11ResponseHandler wrapped, ResourceTypeHelper resourceTypeHelper, PropFindXmlGenerator propFindXmlGenerator)
           
DefaultWebDavResponseHandler(ValueWriters valueWriters, AuthenticationService authenticationService)
           
DefaultWebDavResponseHandler(ValueWriters valueWriters, AuthenticationService authenticationService, ResourceTypeHelper resourceTypeHelper)
           
 
Method Summary
 java.lang.String generateEtag(Resource r)
          ETag's serve to identify a particular version of a particular resource.
 DefaultHttp11ResponseHandler.BUFFERING getBuffering()
           
 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, 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 setBuffering(DefaultHttp11ResponseHandler.BUFFERING buffering)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

wrapped

protected final Http11ResponseHandler wrapped

resourceTypeHelper

protected final ResourceTypeHelper resourceTypeHelper

propFindXmlGenerator

protected final PropFindXmlGenerator propFindXmlGenerator
Constructor Detail

DefaultWebDavResponseHandler

public DefaultWebDavResponseHandler(AuthenticationService authenticationService)

DefaultWebDavResponseHandler

public DefaultWebDavResponseHandler(AuthenticationService authenticationService,
                                    ResourceTypeHelper resourceTypeHelper)

DefaultWebDavResponseHandler

public DefaultWebDavResponseHandler(ValueWriters valueWriters,
                                    AuthenticationService authenticationService)

DefaultWebDavResponseHandler

public DefaultWebDavResponseHandler(ValueWriters valueWriters,
                                    AuthenticationService authenticationService,
                                    ResourceTypeHelper resourceTypeHelper)

DefaultWebDavResponseHandler

public DefaultWebDavResponseHandler(Http11ResponseHandler wrapped,
                                    ResourceTypeHelper resourceTypeHelper,
                                    PropFindXmlGenerator propFindXmlGenerator)
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

respondWithOptions

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

responseMultiStatus

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

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

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

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

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

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

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

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,
                            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

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

getBuffering

public DefaultHttp11ResponseHandler.BUFFERING getBuffering()

setBuffering

public void setBuffering(DefaultHttp11ResponseHandler.BUFFERING buffering)


Copyright © 2011. All Rights Reserved.