1 //
2 // Copyright (c) 2007, Brian Frank and Andy Frank
3 // Licensed under the Academic Free License version 3.0
4 //
5 // History:
6 // 27 Jun 07 Brian Frank Creation
7 //
8
9 using web
10
11 **
12 ** WispReq
13 **
14 class WispReq : WebReq
15 {
16 new make(WispService service, InStream in)
17 {
18 this.service = service
19 this.in = in
20 }
21
22 override WispService service
23 override Str method
24 override Version version
25 override Uri suffixUri
26 override Uri prefixUri
override Str:Str headers
28 override UserAgent userAgent
29 override Uri uri
30 override Str:Obj stash := Str:Obj[:]
31 override InStream in
32
33 override Str:Str form
34 {
35 get
36 {
37 if (@form == null && headers["Content-Type"] == "application/x-www-form-urlencoded")
38 {
39 len := headers["Content-Length"]
40 if (len == null) throw IOErr.make("Missing Content-Length header")
41 @form = Uri.decodeQuery(in.readLine(len.toInt))
42 }
43 return @form
44 }
45 }
46 }