1 //========================================================================
2 //Copyright 2004-2008 Mort Bay Consulting Pty. Ltd.
3 //------------------------------------------------------------------------
4 //Licensed under the Apache License, Version 2.0 (the "License");
5 //you may not use this file except in compliance with the License.
6 //You may obtain a copy of the License at
7 //http://www.apache.org/licenses/LICENSE-2.0
8 //Unless required by applicable law or agreed to in writing, software
9 //distributed under the License is distributed on an "AS IS" BASIS,
10 //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 //See the License for the specific language governing permissions and
12 //limitations under the License.
13 //========================================================================
14
15 package org.mortbay.jetty.handler.rewrite;
16
17
18 import javax.servlet.http.HttpServletRequest;
19 import javax.servlet.http.HttpServletResponse;
20
21 import org.mortbay.jetty.Request;
22 import org.mortbay.jetty.handler.rewrite.PatternRule;
23
24
25 /**
26 * Set the scheme for the request
27 *
28 * @author Ervin Varga
29 * @author Athena Yao
30 */
31 public class ForwardedSchemeHeaderRule extends HeaderRule {
32 private String _scheme="https";
33
34 /* ------------------------------------------------------------ */
35 public String getScheme()
36 {
37 return _scheme;
38 }
39
40 /* ------------------------------------------------------------ */
41 /**
42 * @param scheme the scheme to set on the request. Defaults to "https"
43 */
44 public void setScheme(String scheme)
45 {
46 _scheme = scheme;
47 }
48
49 /* ------------------------------------------------------------ */
50 protected String apply(String target, String value, HttpServletRequest request, HttpServletResponse response)
51 {
52 ((Request) request).setScheme(_scheme);
53 return target;
54 }
55 }