comparison src/luan/modules/http/impl/Http.luan @ 1164:1f9d34a6f308

remove assertions
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 07 Feb 2018 17:36:38 -0700
parents fef8f0742da9
children 668f29bc52ea
comparison
equal deleted inserted replaced
1163:fef8f0742da9 1164:1f9d34a6f308
1 java() 1 java()
2 local Luan = require "luan:Luan.luan" 2 local Luan = require "luan:Luan.luan"
3 local error = Luan.error 3 local error = Luan.error
4 local assert_string = Luan.assert_string or error()
5 local ipairs = Luan.ipairs or error() 4 local ipairs = Luan.ipairs or error()
6 local pairs = Luan.pairs or error() 5 local pairs = Luan.pairs or error()
7 local type = Luan.type or error() 6 local type = Luan.type or error()
8 local Io = require "luan:Io.luan" 7 local Io = require "luan:Io.luan"
9 local Html = require "luan:Html.luan" 8 local Html = require "luan:Html.luan"
13 local Package = require "luan:Package.luan" 12 local Package = require "luan:Package.luan"
14 local String = require "luan:String.luan" 13 local String = require "luan:String.luan"
15 local matches = String.matches or error() 14 local matches = String.matches or error()
16 local HttpServicer = require "java:luan.modules.http.impl.HttpServicer" 15 local HttpServicer = require "java:luan.modules.http.impl.HttpServicer"
17 local IoLuan = require "java:luan.modules.IoLuan" 16 local IoLuan = require "java:luan.modules.IoLuan"
18 local LuanJava = require "java:luan.Luan" 17 local JavaLuan = require "java:luan.Luan"
19 local Response = require "java:luan.webserver.Response" 18 local Response = require "java:luan.webserver.Response"
20 local ResponseOutputStream = require "java:luan.webserver.ResponseOutputStream" 19 local ResponseOutputStream = require "java:luan.webserver.ResponseOutputStream"
21 local Status = require "java:luan.webserver.Status" 20 local Status = require "java:luan.webserver.Status"
22 local OutputStreamWriter = require "java:java.io.OutputStreamWriter" 21 local OutputStreamWriter = require "java:java.io.OutputStreamWriter"
23 local HashMap = require "java:java.util.HashMap" 22 local HashMap = require "java:java.util.HashMap"
37 this.java = java 36 this.java = java
38 this.method = java.method or error() 37 this.method = java.method or error()
39 this.raw_path = java.rawPath or error() 38 this.raw_path = java.rawPath or error()
40 this.path = java.path or error() 39 this.path = java.path or error()
41 this.protocol = java.protocol or error() 40 this.protocol = java.protocol or error()
42 this.headers = LuanJava.toLuan(java.headers) 41 this.headers = JavaLuan.toLuan(java.headers)
43 this.parameters = LuanJava.toLuan(java.parameters) 42 this.parameters = JavaLuan.toLuan(java.parameters)
44 this.cookies = LuanJava.toLuan(java.cookies) 43 this.cookies = JavaLuan.toLuan(java.cookies)
45 end 44 end
46 this.scheme = "http" 45 this.scheme = "http"
47 46
48 function this.full_path() -- compatible with jetty 47 function this.full_path() -- compatible with jetty
49 return this.raw_path or this.path 48 return this.raw_path or this.path
95 94
96 function this.set_cookie(name,value,attributes) 95 function this.set_cookie(name,value,attributes)
97 attributes = attributes or {} 96 attributes = attributes or {}
98 local attrMap = HashMap.new() 97 local attrMap = HashMap.new()
99 for attr_name, attr_value in pairs(attributes) do 98 for attr_name, attr_value in pairs(attributes) do
100 assert_string(attr_name) 99 type(attr_name)=="string" or "cookie attribute name must be string"
101 assert_string(attr_value) 100 type(attr_value)=="string" or "cookie attribute value must be string"
102 attrMap.put(attr_name,attr_value) 101 attrMap.put(attr_name,attr_value)
103 end 102 end
104 this.java.setCookie(name,value,attrMap) 103 this.java.setCookie(name,value,attrMap)
105 end 104 end
106 105
135 function Http.finish() -- called only from java 134 function Http.finish() -- called only from java
136 local response = Http.response or error() 135 local response = Http.response or error()
137 local java = response.java or error() 136 local java = response.java or error()
138 java.status = Status.getStatus(response.status) 137 java.status = Status.getStatus(response.status)
139 for name, value in pairs(response.headers) do 138 for name, value in pairs(response.headers) do
140 assert_string(name) 139 type(name)=="string" or "header name must be string"
141 value = LuanJava.toJava(value) 140 value = JavaLuan.toJava(value)
142 java.headers.put(name,value) 141 java.headers.put(name,value)
143 end 142 end
144 response.writer and response.writer.close() 143 response.writer and response.writer.close()
145 return java 144 return java
146 end 145 end