@@ -404,7 +404,10 @@ baos, new Deflater(Deflater.DEFAULT_COMPRESSION,
404404 return ;
405405 } else if (uri .equals ("/redirect-to" )) {
406406 Utils .copy (is , Utils .NULL_OUTPUT_STREAM );
407- redirectTo (servletResponse , request .getParameter ("url" ));
407+ int statusCode = Utils .getIntParameter (request , "status_code" ,
408+ HttpServletResponse .SC_MOVED_TEMPORARILY );
409+ redirectTo (servletResponse , request .getParameter ("url" ),
410+ statusCode );
408411 baseRequest .setHandled (true );
409412 return ;
410413 } else if (uri .startsWith ("/redirect/" )) {
@@ -627,9 +630,15 @@ private static void respondJSON(HttpServletResponse response,
627630 }
628631
629632 private static void redirectTo (HttpServletResponse response ,
630- String location ) {
633+ String location , int statusCode ) {
631634 response .setHeader ("Location" , location );
632- response .setStatus (HttpServletResponse .SC_MOVED_TEMPORARILY );
635+ response .setStatus (statusCode );
636+ }
637+
638+ private static void redirectTo (HttpServletResponse response ,
639+ String location ) {
640+ redirectTo (response , location ,
641+ HttpServletResponse .SC_MOVED_TEMPORARILY );
633642 }
634643
635644 private void copyResource (HttpServletResponse response , String resource )
0 commit comments