From: <va...@us...> - 2012-09-27 15:20:27
|
Revision: 16097 http://gate.svn.sourceforge.net/gate/?rev=16097&view=rev Author: valyt Date: 2012-09-27 15:20:21 +0000 (Thu, 27 Sep 2012) Log Message: ----------- BugFix: explicitly set the content type for the render method. Otherwise grails expects HTML content, and returns a 404 if it just gets text. Modified Paths: -------------- mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/SearchController.groovy Modified: mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/SearchController.groovy =================================================================== --- mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/SearchController.groovy 2012-09-27 12:33:03 UTC (rev 16096) +++ mimir/trunk/mimir-web/grails-app/controllers/gate/mimir/web/SearchController.groovy 2012-09-27 15:20:21 UTC (rev 16097) @@ -830,6 +830,7 @@ //we have all the required parameters long documentRank = documentRankParam as long response.characterEncoding = "UTF-8" + response.contentType = "text/plain" response.writer.withWriter{ writer -> runner.renderDocument(documentRank, writer) } @@ -854,13 +855,23 @@ try{ docId = documentIdStr as long } catch (Exception e) { + log.error("Error in render", e) response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid value provided for parameter documentId (not an integer)!") return; } - response.characterEncoding = "UTF-8" - response.writer.withWriter{ writer -> - ((Index)request.theIndex).renderDocument(docId, writer) + try{ + response.characterEncoding = "UTF-8" + response.contentType = "text/plain" + response.writer.withWriter{ writer -> + ((Index)request.theIndex).renderDocument(docId, writer) + } + return + } catch (Exception e) { + log.error("Error while rendering document", e) + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + "Error while rendering document: \"" + + e.getMessage() + "\"!") } } else { response.sendError(HttpServletResponse.SC_BAD_REQUEST, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |