Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: src/org/adblockplus/brazil/SSLConnectionHandler.java

Issue 8484110: ABP/Android proxy service (Closed)
Left Patch Set: ABP/Android proxy service Created Nov. 9, 2012, 9:23 a.m.
Right Patch Set: ABP/Android proxy service Created Nov. 12, 2012, 8:53 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
1 package org.adblockplus.brazil; 1 package org.adblockplus.brazil;
2 2
3 import java.io.IOException; 3 import java.io.IOException;
4 import java.io.InputStream; 4 import java.io.InputStream;
5 import java.io.OutputStream; 5 import java.io.OutputStream;
6 import java.net.InetAddress; 6 import java.net.InetAddress;
7 import java.net.Socket; 7 import java.net.Socket;
8 import java.util.Properties;
9 8
10 import sunlabs.brazil.server.Handler;
11 import sunlabs.brazil.server.Request; 9 import sunlabs.brazil.server.Request;
12 import sunlabs.brazil.server.Server; 10 import sunlabs.brazil.server.Server;
13 import sunlabs.brazil.util.MatchString; 11 import sunlabs.brazil.util.MatchString;
14 12
15 /** 13 /**
16 * <code>RequestHandler</code> implements a SSL tunnel. 14 * <code>RequestHandler</code> implements a SSL tunnel.
17 * 15 *
18 * The following configuration parameters are used to initialize this 16 * The following configuration parameters are used to initialize this
19 * <code>Handler</code>: 17 * <code>Handler</code>:
20 * <dl class=props> 18 * <dl class=props>
(...skipping 17 matching lines...) Expand all
38 * handler=https 36 * handler=https
39 * https.class=org.adblockplus.brazil.SSLConnectionHandler 37 * https.class=org.adblockplus.brazil.SSLConnectionHandler
40 * </pre> 38 * </pre>
41 * 39 *
42 * See the description under {@link sunlabs.brazil.server.Handler#respond 40 * See the description under {@link sunlabs.brazil.server.Handler#respond
43 * respond} for a more detailed explanation. 41 * respond} for a more detailed explanation.
44 * 42 *
45 * Original source by Jochen Luell, PAW (http://paw-project.sourceforge.net/) 43 * Original source by Jochen Luell, PAW (http://paw-project.sourceforge.net/)
46 */ 44 */
47 45
48 public class SSLConnectionHandler implements Handler 46 public class SSLConnectionHandler extends BaseRequestHandler
49 { 47 {
50 public static final String PROXY_HOST = "proxyHost";
51 public static final String PROXY_PORT = "proxyPort";
52 public static final String AUTH = "auth";
53
54 private String prefix;
55
56 private String proxyHost;
57 private int proxyPort = 80;
58 private String auth;
59
60 @Override
61 public boolean init(Server server, String prefix)
62 {
63 this.prefix = prefix;
64
65 Properties props = server.props;
66
67 proxyHost = props.getProperty(prefix + PROXY_HOST);
68
69 String s = props.getProperty(prefix + PROXY_PORT);
70 try
71 {
72 proxyPort = Integer.decode(s).intValue();
73 }
74 catch (Exception e)
75 {
76 }
77
78 auth = props.getProperty(prefix + AUTH);
79
80 return true;
81 }
82
83 @Override 48 @Override
84 public boolean respond(Request request) throws IOException 49 public boolean respond(Request request) throws IOException
85 { 50 {
86 if (!request.method.equals("CONNECT")) 51 if (!request.method.equals("CONNECT"))
87 return false; 52 return false;
88 53
89 request.log(Server.LOG_LOG, prefix, "SSL connection to " + reque st.url); 54 request.log(Server.LOG_LOG, prefix, "SSL connection to " + reque st.url);
90 55
91 String host = null; 56 String host = null;
92 int port = 0; 57 int port = 0;
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 } 151 }
187 out.flush(); 152 out.flush();
188 } 153 }
189 catch (IOException e) 154 catch (IOException e)
190 { 155 {
191 e.printStackTrace(); 156 e.printStackTrace();
192 } 157 }
193 } 158 }
194 } 159 }
195 } 160 }
LEFTRIGHT

Powered by Google App Engine
This is Rietveld