Open GoogleCodeExporter opened 8 years ago
What steps will reproduce the problem? 1. Put some extended utf-8 character, i.e. © in some of your js files. 2. navigat plovr to /view?id=..&name=.. What is the expected output? What do you see instead? the following exception is caused but not properly setting the content-length (string.length() is not the length in bytes) in ViewFileHandler SEVERE: Error during GET request to /view?id=dev&name=... java.io.IOException: too many bytes to write to stream at sun.net.httpserver.FixedLengthOutputStream.write(FixedLengthOutputStream.java:76) at sun.net.httpserver.PlaceholderOutputStream.write(ExchangeImpl.java:444) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:316) at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149) at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233) at org.plovr.ViewFileHandler.doGet(ViewFileHandler.java:70) at org.plovr.AbstractGetHandler.handle(AbstractGetHandler.java:85) at org.plovr.CompilationServer$1.handle(CompilationServer.java:124) at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83) at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:677) at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:649) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) What version of the product are you using? On what operating system? any, linux Please provide any additional information below. this is similar to https://code.google.com/p/plovr/issues/detail?id=11 and can be patched like this diff -r 4df6a0e20e67 src/org/plovr/ViewFileHandler.java --- a/src/org/plovr/ViewFileHandler.java Mon Jul 01 20:39:48 2013 -0700 +++ b/src/org/plovr/ViewFileHandler.java Wed May 14 13:39:34 2014 +0200 @@ -5,6 +5,7 @@ import java.io.Writer; import java.util.Set; +import com.google.common.base.Charsets; import com.google.common.io.Resources; import com.google.template.soy.SoyFileSet; import com.google.template.soy.data.SoyListData; @@ -62,10 +63,10 @@ // TODO(bolinfest): Support ctrl+L to prompt for a line number to navigate to. Headers responseHeaders = exchange.getResponseHeaders(); - responseHeaders.set("Content-Type", "text/html"); - exchange.sendResponseHeaders(200, html.length()); + responseHeaders.set("Content-Type", "text/html; charset=UTF-8"); + exchange.sendResponseHeaders(200, html.getBytes(Charsets.UTF_8).length); - Writer responseBody = new OutputStreamWriter(exchange.getResponseBody()); + Writer responseBody = new OutputStreamWriter(exchange.getResponseBody(), Charsets.UTF_8); responseBody.write(html); responseBody.close(); }
Original issue reported on code.google.com by petr...@siddhadev.com on 14 May 2014 at 11:41
petr...@siddhadev.com
Attachments:
Original issue reported on code.google.com by
petr...@siddhadev.com
on 14 May 2014 at 11:41Attachments: