View Javadoc

1   package com.bradmcevoy.http.http11;
2   
3   import com.bradmcevoy.http.Handler;
4   import com.bradmcevoy.http.HandlerHelper;
5   import com.bradmcevoy.http.HttpExtension;
6   import java.util.HashSet;
7   import java.util.List;
8   import java.util.Set;
9   
10  /**
11   *
12   * @author brad
13   */
14  public class Http11Protocol implements HttpExtension{
15  
16      private final Set<Handler> handlers;
17  
18      private final HandlerHelper handlerHelper;
19  
20      private List<CustomPostHandler> customPostHandlers;
21  
22      public Http11Protocol( Set<Handler> handlers, HandlerHelper handlerHelper ) {
23          this.handlers = handlers;
24          this.handlerHelper = handlerHelper;
25      }
26  
27      /**
28       * OPTIONS authentication is disabled by default
29       *
30       * @param responseHandler
31       * @param handlerHelper
32       */
33      public Http11Protocol(Http11ResponseHandler responseHandler, HandlerHelper handlerHelper) {
34          this(responseHandler, handlerHelper, false );
35      }
36  
37      public Http11Protocol(Http11ResponseHandler responseHandler, HandlerHelper handlerHelper, boolean enableOptionsAuth) {
38          this.handlers = new HashSet<Handler>();
39          this.handlerHelper = handlerHelper;
40          handlers.add(new OptionsHandler(responseHandler, handlerHelper, enableOptionsAuth));
41          handlers.add(new GetHandler(responseHandler, handlerHelper));
42          handlers.add(new PostHandler(responseHandler, handlerHelper));
43          handlers.add(new DeleteHandler(responseHandler, handlerHelper));
44          handlers.add(new PutHandler(responseHandler, handlerHelper));
45      }
46  
47      public Set<Handler> getHandlers() {
48          return handlers;
49      }
50  
51      public HandlerHelper getHandlerHelper() {
52          return handlerHelper;
53      }
54  
55      public List<CustomPostHandler> getCustomPostHandlers() {
56          return customPostHandlers;
57      }
58  }