1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.proxy.handlers.http;
21
22 import org.apache.mina.proxy.ProxyAuthException;
23 import org.apache.mina.proxy.handlers.http.basic.HttpBasicAuthLogicHandler;
24 import org.apache.mina.proxy.handlers.http.basic.HttpNoAuthLogicHandler;
25 import org.apache.mina.proxy.handlers.http.digest.HttpDigestAuthLogicHandler;
26 import org.apache.mina.proxy.handlers.http.ntlm.HttpNTLMAuthLogicHandler;
27 import org.apache.mina.proxy.session.ProxyIoSession;
28
29
30
31
32
33
34
35
36 public enum HttpAuthenticationMethods {
37
38 NO_AUTH(1), BASIC(2), NTLM(3), DIGEST(4);
39
40 private final int id;
41
42 private HttpAuthenticationMethods(int id) {
43 this.id = id;
44 }
45
46 public int getId() {
47 return id;
48 }
49
50
51
52
53 public AbstractAuthLogicHandler getNewHandler(ProxyIoSession proxyIoSession)
54 throws ProxyAuthException {
55 switch (this) {
56 case BASIC:
57 return new HttpBasicAuthLogicHandler(proxyIoSession);
58
59 case DIGEST:
60 HttpDigestAuthLogicHandler authHandler = new HttpDigestAuthLogicHandler(
61 proxyIoSession);
62 return authHandler;
63
64 case NTLM:
65 return new HttpNTLMAuthLogicHandler(proxyIoSession);
66
67 case NO_AUTH:
68 return new HttpNoAuthLogicHandler(proxyIoSession);
69
70 default:
71 return null;
72 }
73 }
74 }