I am trying to get some rewrite rules to weork. This is an application I had running well under Jetty 8 (using the Ubuntu 12.04 default installation) but I am stymied trying to bring it to Jetty 9.
I have rewrite rules configured in a Configureation file (listed below in full) It appears that my rewrite rule is matching, the rewrite occurs and then I hit a NullPointerException while trying to end the rewrite portion. Any thoughts? The relevant logs ==== 2014-04-22 18:06:57.891:DBUG:oejrh.RuleContainer:qtp1365786638-16 - /v2/111/users/current: applied org.eclipse.jetty.rewrite.handler.RewriteRegexRule[hT][^/v2/(.*)][/webdir/index.php] 2014-04-22 18:06:57.891:DBUG:oejrh.RuleContainer:qtp1365786638-16 - /v2/111/users/current: rewrote /v2/111/users/current to /webdir/index.php 2014-04-22 18:06:57.892:DBUG:oejrh.RuleContainer:qtp1365786638-16 - /v2/111/users/current: terminating org.eclipse.jetty.rewrite.handler.RewriteRegexRule[hT][^/v2/(.*)][/webdir/index.php] 2014-04-22 18:06:57.892:DBUG:oejrh.RuleContainer:qtp1365786638-16 - /v2/111/users/current: applied org.eclipse.jetty.rewrite.handler.VirtualHostRuleContainer[ht] 2014-04-22 18:06:57.892:DBUG:oejrh.RuleContainer:qtp1365786638-16 - /v2/111/users/current: rewrote /v2/111/users/current to /webdir/index.php 2014-04-22 18:06:57.893:WARN:oejs.HttpChannel:qtp1365786638-16 - /v2/111/users/current: /v2/111/users/current java.lang.NullPointerException at org.eclipse.jetty.rewrite.handler.RuleContainer.apply(RuleContainer.java:201) at org.eclipse.jetty.rewrite.handler.RuleContainer.matchAndApply(RuleContainer.java:188) at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:305) at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:81) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:309) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:462) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) at java.lang.Thread.run(Thread.java:744) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server"> <Get id="_oldhandler" name="handler" /> <Set name="handler"> <New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler"> <Set name="handler"><Ref id="_oldhandler" /></Set> <Set name="rewriteRequestURI">false</Set> <Set name="rewritePathInfo">false</Set> <Set name="originalPathAttribute">requestedPath</Set> <!-- rules that apply across all virtual hosts --> <Call name="addRule"> <Arg> <!-- attempt tofix broken MS shit --> <New class="org.eclipse.jetty.rewrite.handler.MsieSslRule" /> </Arg> </Call> <!-- vfcore --> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule"> <Set name="regex">^/admin/(.*)</Set> <Set name="replacement">/webdir/index.php</Set> <Set name="terminating">true</Set> </New> </Arg> </Call> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule"> <Set name="regex">^/oauth2/(.*)</Set> <Set name="replacement">/webdir/index.php</Set> <Set name="terminating">true</Set> </New> </Arg> </Call> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule"> <Set name="regex">^/([0-9]+)/(.*)</Set> <Set name="replacement">/$2</Set> <Set name="terminating">true</Set> </New> </Arg> </Call> <!-- rules that apply only to the api subdomain --> <Call name="addRule"> <Arg> <New id="api-virtualHost" class="org.eclipse.jetty.rewrite.handler.VirtualHostRuleContainer"> <Set name="virtualHosts"> <Array type="java.lang.String"> <Item>api.viafoura.com</Item> </Array> </Set> <!-- from nginx/sites-avilable-api --> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule"> <Set name="regex">^/api/1/(.*)</Set> <Set name="replacement">/webdir/index.php</Set> <Set name="terminating">true</Set> </New> </Arg> </Call> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule"> <Set name="regex">^/rest/v1/(.*)</Set> <Set name="replacement">/webdir/index.php</Set> <Set name="terminating">true</Set> </New> </Arg> </Call> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule"> <Set name="regex">^/v2/(.*)</Set> <Set name="replacement">/webdir/index.php</Set> <Set name="terminating">true</Set> </New> </Arg> </Call> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule"> <Set name="pattern">^/app/js/</Set> <Set name="name">ETag</Set> <Set name="value"> </Set> </New> </Arg> </Call> </New> </Arg> </Call> </New> </Set> </Configure> -- - michael dykman - [email protected] May the Source be with you. _______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
