-
Notifications
You must be signed in to change notification settings - Fork 275
/
HTTPContext.scala
96 lines (82 loc) · 2.83 KB
/
HTTPContext.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
* Copyright 2007-2011 WorldWide Conferencing, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.liftweb
package http
package provider
import java.io.{InputStream}
import java.net.{URL}
import net.liftweb.common._
import net.liftweb.util._
/**
* Represents the service context information. Similar with servlet context.
*/
trait HTTPContext {
/**
* @return - the context path. It always comes first in a request URI. It is
* the URI part that represent to context of the request.
*/
def path: String
/**
* Returns the URL representation of a resource that is mapped by a fully qualified path.
* The path is considered relative to the root path and it always starts with '/'.
*
* @param path - the resource path
* @return - the URL object of the path
*/
def resource(path: String): URL
/**
* Same as <i>resource</i> but returns an InputStream to read the resource.
* @param path - the resource path
* @return InputStream
*/
def resourceAsStream(path: String): InputStream
/**
* @param path
* @return - the mime type mapped to resource determined by this path.
*/
def mimeType(path: String): Box[String]
/**
* @param name
* @return - the value of the init parameter identified by then provided name. Note
* that this is not typesfe and you need to explicitely do the casting
* when reading this attribute. Returns Empty if this parameter does not exist.
*/
def initParam(name: String): Box[String]
/**
* @return - a List of Tuple2 consisting of name and value pair of the init parameters
*/
def initParams: List[(String, String)]
/**
* @param name
* @return - the value of the context attribute identified by then provided name.
* Returns Empty if this parameter does not exist.
*/
def attribute(name: String): Box[Any]
/**
* @return - a List of Tuple2 consisting of name and value pair of the attributes
*/
def attributes: List[(String, Any)]
/**
* @param name
* @param value. Any reference. Note that this is not typesfe and you need to explicitely do
* the casting when reading this attribute.
*/
def setAttribute(name: String, value: Any): Unit
/**
* @param name. The name ofthe parameter that needs to be removed.
*/
def removeAttribute(name: String): Unit
}