public void checkAndParse() { if (!requestIsParsed) { Http.Request request = Http.Request.current(); if (request == null) { throw new UnexpectedException("Current request undefined"); } else { String contentType = request.contentType; if (contentType != null) { DataParser dataParser = DataParser.parsers.get(contentType); if (dataParser != null) { _mergeWith(dataParser.parse(request.body)); } else { if (contentType.startsWith("text/")) { _mergeWith(new TextParser().parse(request.body)); } } } try { request.body.close(); } catch (Exception e) { // } requestIsParsed = true; } } }