How do I load a javascript library in Rhino, from a server that uses gzip encoding?
In rhino, I'm used to being able to load javascript libraries from a URL, e.g.
load('http://latex.mathoverflow.net/mathjax/MathJax.js')
(This doesn't actually work, unless you provide a browser-like environment first, via env.js or similar. But rhino manages to get the file, and start compiling it.)
However, if the server provides the javascript library gzipped, rhino seems to fail immediately with syntax errors, e.g.
load('http://cdn.mathjax.org/mathjax/latest/MathJax.js')
You can see the difference using curl, e.g.
curl --head http://latex.mathoverflow.net/mathjax/MathJax.js
gives
HTTP/1.1 200 OK Date: Mon, 09 May 2011 21:07:53 GMT Server: Apache Last-Modified: Fri, 07 Jan 2011 05:13:36 GMT ETag: "24b8044-9db7-4993aae2a4000" Accept-Ranges: bytes Content-Length: 40375 Vary: Accept-Encoding Content-Type: application/javascript
while
curl --head http://cdn.mathjax.org/mathjax/latest/MathJax.js
gives
HTTP/1.0 200 OK Server: nginx Date: Sun, 08 May 2011 20:06:19 GMT开发者_如何转开发 Content-Type: application/javascript Last-Modified: Sun, 13 Mar 2011 17:30:00 GMT ETag: "3f59e66-a250-49e608b6bf600"-gzip Accept-Ranges: bytes Content-Encoding: gzip Cache-Control: max-age=86400 Content-Length: 12466 Age: 3624 X-Cache: Hit from cloudfront X-Amz-Cf-Id: d0e2d89a0d90c9b7bb49b466e233b005389f96db378543b01de51769589f84dfd9733430f773846f Via: 1.0 fee706bb2dcbccabb9a09a17e9d6037c.cloudfront.net:11180 (CloudFront), 1.0 6d5d46d2c7dcee5d4601d83b29b92a90.cloudfront.net:11180 (CloudFront) Connection: close
Any suggestions? Is there a trick to allow rhino to load gzipped scripts?
There is now a bug report for this.
精彩评论