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
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
29
30
31
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 }