File tree Expand file tree Collapse file tree 4 files changed +25
-7
lines changed Expand file tree Collapse file tree 4 files changed +25
-7
lines changed Original file line number Diff line number Diff line change @@ -2,11 +2,10 @@ use web, fastcgi
2
2
3
3
import web/[Application, Dispatcher]
4
4
import fastcgi/Server
5
- import structs/HashMap
6
5
7
6
8
7
RootApplication : class extends Application {
9
- sendHeaders : func (headers : HashMap < String > ) {
8
+ sendHeaders : func (headers : HeaderMap ) {
10
9
headers["Content-type" ] = "text/plain"
11
10
}
12
11
}
Original file line number Diff line number Diff line change @@ -2,7 +2,6 @@ use web, fastcgi
2
2
3
3
import web/[Application, Request]
4
4
import fastcgi/Server
5
- import structs/HashMap
6
5
7
6
8
7
HelloApplication : class extends Application {
@@ -12,7 +11,7 @@ HelloApplication: class extends Application {
12
11
"Request remote addr: %s port %d" format (request remoteAddress, request remotePort) println ()
13
12
}
14
13
15
- sendHeaders : func (headers : HashMap < String > ) {
14
+ sendHeaders : func (headers : HeaderMap ) {
16
15
headers["Content-type" ] = "text/html"
17
16
}
18
17
Original file line number Diff line number Diff line change @@ -7,11 +7,31 @@ ResponseWriter: abstract class {
7
7
flush : abstract func
8
8
}
9
9
10
+ HeaderMap : class extends HashMap< String> {
11
+ init : func ~headermap {
12
+ init (1 )
13
+ }
14
+
15
+ init : func ~headermapWithCapacity (capacity : UInt ) {
16
+ T = String
17
+ super (capacity)
18
+ }
19
+ }
20
+
21
+ operator [] < T> (map : HeaderMap , key : String ) -> T {
22
+ map get (key)
23
+ }
24
+
25
+ operator []= < T> (map : HeaderMap , key : String , value : T ) {
26
+ map put (key, value)
27
+ }
28
+
29
+
10
30
Application : class {
11
31
request : Request
12
32
13
33
parseRequest : func {}
14
- sendHeaders : func (headers : HashMap < String > ) {}
34
+ sendHeaders : func (headers : HeaderMap ) {}
15
35
sendResponse : func (response : ResponseWriter ) {}
16
36
}
17
37
Original file line number Diff line number Diff line change 1
1
use web
2
2
import web/Application
3
- import structs/[ LinkedList, HashMap]
3
+ import structs/LinkedList
4
4
5
5
6
6
/* *
@@ -21,7 +21,7 @@ Dispatcher: class extends Application {
21
21
}
22
22
}
23
23
24
- sendHeaders : func (headers : HashMap < String > ) {
24
+ sendHeaders : func (headers : HeaderMap ) {
25
25
for (app : Application in applications) {
26
26
app sendHeaders (headers)
27
27
}
You can’t perform that action at this time.
0 commit comments