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