Mercurial Hosting > luan
comparison web/src/luan/modules/web/HttpLuan.java @ 223:a9fe265dbac3
upgrade to jetty 8
git-svn-id: https://luan-java.googlecode.com/svn/trunk@224 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Mon, 21 Jul 2014 06:38:01 +0000 |
parents | b76fcb72d97d |
children | 05eb2837ddbf |
comparison
equal
deleted
inserted
replaced
222:b76fcb72d97d | 223:a9fe265dbac3 |
---|---|
170 private LuanTable responseTable() throws NoSuchMethodException { | 170 private LuanTable responseTable() throws NoSuchMethodException { |
171 LuanTable tbl = Luan.newTable(); | 171 LuanTable tbl = Luan.newTable(); |
172 tbl.put("java",response); | 172 tbl.put("java",response); |
173 add( tbl, "send_redirect", String.class ); | 173 add( tbl, "send_redirect", String.class ); |
174 add( tbl, "send_error", Integer.TYPE, String.class ); | 174 add( tbl, "send_error", Integer.TYPE, String.class ); |
175 tbl.put( "contains_header", new LuanJavaFunction( | |
176 HttpServletResponse.class.getMethod("containsHeader",String.class), response | |
177 ) ); | |
178 tbl.put( "set_header", new LuanJavaFunction( | |
179 HttpServletResponse.class.getMethod("setHeader",String.class,String.class), response | |
180 ) ); | |
181 /* | |
182 LuanTable headers = new NameTable() { | 175 LuanTable headers = new NameTable() { |
183 | 176 |
184 @Override Object get(String name) { | 177 @Override Object get(String name) { |
185 return response.getHeader(name); | 178 return response.getHeader(name); |
186 } | 179 } |
187 | 180 |
188 @Override Iterator<String> names() { | 181 @Override Iterator<String> names() { |
189 return response.getHeaderNames().iterator(); | 182 return response.getHeaderNames().iterator(); |
190 } | 183 } |
191 | 184 |
185 @Override public Object put(Object key,Object val) { | |
186 if( !(key instanceof String) ) | |
187 throw new IllegalArgumentException("key must be string for headers table"); | |
188 String name = (String)key; | |
189 if( val instanceof String ) { | |
190 response.setHeader(name,(String)val); | |
191 return null; | |
192 } | |
193 Integer i = Luan.asInteger(val); | |
194 if( i != null ) { | |
195 response.setIntHeader(name,i); | |
196 return null; | |
197 } | |
198 throw new IllegalArgumentException("value must be string or integer for headers table"); | |
199 } | |
200 | |
192 @Override protected String type() { | 201 @Override protected String type() { |
193 return "response.headers-table"; | 202 return "response.headers-table"; |
194 } | 203 } |
195 }; | 204 }; |
196 tbl.put( "headers", headers ); | 205 tbl.put( "headers", headers ); |
197 */ | |
198 tbl.put( "set_content_type", new LuanJavaFunction( | 206 tbl.put( "set_content_type", new LuanJavaFunction( |
199 HttpServletResponse.class.getMethod("setContentType",String.class), response | 207 HttpServletResponse.class.getMethod("setContentType",String.class), response |
200 ) ); | 208 ) ); |
201 tbl.put( "set_character_encoding", new LuanJavaFunction( | 209 tbl.put( "set_character_encoding", new LuanJavaFunction( |
202 HttpServletResponse.class.getMethod("setCharacterEncoding",String.class), response | 210 HttpServletResponse.class.getMethod("setCharacterEncoding",String.class), response |