comparison src/goodjava/webserver/Connection.java @ 1513:a0a74f5f490a

minor
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 24 May 2020 19:44:58 -0600
parents 471ef3e6a84e
children fa066aaa068c
comparison
equal deleted inserted replaced
1512:31b543826ca9 1513:a0a74f5f490a
27 27
28 private void handle() { 28 private void handle() {
29 try { 29 try {
30 Request request = new Request(); 30 Request request = new Request();
31 Response response; 31 Response response;
32 String contentType = null;
32 try { 33 try {
33 { 34 {
34 InputStream in = socket.getInputStream(); 35 InputStream in = socket.getInputStream();
35 byte[] a = new byte[8192]; 36 byte[] a = new byte[8192];
36 int endOfHeader; 37 int endOfHeader;
81 } 82 }
82 request.body = body; 83 request.body = body;
83 //System.out.println(new String(request.body)); 84 //System.out.println(new String(request.body));
84 } 85 }
85 86
86 String contentType = (String)request.headers.get("content-type"); 87 contentType = (String)request.headers.get("content-type");
87 if( contentType != null ) { 88 if( contentType != null ) {
88 contentType = contentType.toLowerCase(); 89 contentType = contentType.toLowerCase();
89 if( contentType.equals("application/x-www-form-urlencoded") ) { 90 if( contentType.equals("application/x-www-form-urlencoded") ) {
90 parser.parseUrlencoded(null); 91 parser.parseUrlencoded(null);
91 } else if( contentType.equals("application/x-www-form-urlencoded; charset=utf-8") ) { 92 } else if( contentType.equals("application/x-www-form-urlencoded; charset=utf-8") ) {
106 request.scheme = scheme; 107 request.scheme = scheme;
107 } 108 }
108 response = server.handler.handle(request); 109 response = server.handler.handle(request);
109 } catch(ParseException e) { 110 } catch(ParseException e) {
110 logger.warn("parse error\n"+request.rawHead.trim()+"\n",e); 111 logger.warn("parse error\n"+request.rawHead.trim()+"\n",e);
111 response = Response.errorResponse(Status.BAD_REQUEST,e.toString()); 112 String msg = e.toString();
113 if( contentType != null )
114 msg = "invalid content for content-type " + contentType + "\n" + msg;
115 response = Response.errorResponse(Status.BAD_REQUEST,msg);
112 } 116 }
113 response.headers.put("connection","close"); 117 response.headers.put("connection","close");
114 response.headers.put("content-length",Long.toString(response.body.length)); 118 response.headers.put("content-length",Long.toString(response.body.length));
115 byte[] header = response.toHeaderString().getBytes(); 119 byte[] header = response.toHeaderString().getBytes();
116 120