1 //
2 // ========================================================================
3 // Copyright (c) 1995-2012 Mort Bay Consulting Pty. Ltd.
4 // ------------------------------------------------------------------------
5 // All rights reserved. This program and the accompanying materials
6 // are made available under the terms of the Eclipse Public License v1.0
7 // and Apache License v2.0 which accompanies this distribution.
8 //
9 // The Eclipse Public License is available at
10 // http://www.eclipse.org/legal/epl-v10.html
11 //
12 // The Apache License v2.0 is available at
13 // http://www.opensource.org/licenses/apache2.0.php
14 //
15 // You may elect to redistribute this code under either of these licenses.
16 // ========================================================================
17 //
18
19 package org.eclipse.jetty.ajp;
20
21 import org.eclipse.jetty.server.AbstractHttpConnection;
22 import org.eclipse.jetty.server.Request;
23
24 public class Ajp13Request extends Request
25 {
26 protected String _remoteAddr;
27 protected String _remoteHost;
28 protected String _remoteUser;
29 protected boolean _sslSecure;
30
31 /* ------------------------------------------------------------ */
32 public Ajp13Request(AbstractHttpConnection connection)
33 {
34 super(connection);
35 }
36
37 /* ------------------------------------------------------------ */
38 public Ajp13Request()
39 {
40 }
41
42 /* ------------------------------------------------------------ */
43 void setConnection(Ajp13Connection connection)
44 {
45 super.setConnection(connection);
46 }
47
48 /* ------------------------------------------------------------ */
49 public void setRemoteUser(String remoteUser)
50 {
51 _remoteUser = remoteUser;
52 }
53
54 /* ------------------------------------------------------------ */
55 @Override
56 public String getRemoteUser()
57 {
58 if(_remoteUser != null)
59 return _remoteUser;
60 return super.getRemoteUser();
61 }
62
63 /* ------------------------------------------------------------ */
64 @Override
65 public String getRemoteAddr()
66 {
67 if (_remoteAddr != null)
68 return _remoteAddr;
69 if (_remoteHost != null)
70 return _remoteHost;
71 return super.getRemoteAddr();
72 }
73
74
75
76 /* ------------------------------------------------------------ */
77 @Override
78 public void setRemoteAddr(String remoteAddr)
79 {
80 _remoteAddr = remoteAddr;
81 }
82
83 /* ------------------------------------------------------------ */
84 @Override
85 public String getRemoteHost()
86 {
87 if (_remoteHost != null)
88 return _remoteHost;
89 if (_remoteAddr != null)
90 return _remoteAddr;
91 return super.getRemoteHost();
92 }
93
94 /* ------------------------------------------------------------ */
95 @Override
96 public void setRemoteHost(String remoteHost)
97 {
98 _remoteHost = remoteHost;
99 }
100
101 /* ------------------------------------------------------------ */
102 public boolean isSslSecure()
103 {
104 return _sslSecure;
105 }
106
107 /* ------------------------------------------------------------ */
108 public void setSslSecure(boolean sslSecure)
109 {
110 _sslSecure = sslSecure;
111 }
112
113 /* ------------------------------------------------------------ */
114 @Override
115 protected void recycle()
116 {
117 super.recycle();
118 _remoteAddr = null;
119 _remoteHost = null;
120 _remoteUser = null;
121 _sslSecure = false;
122 }
123
124 }