{"action":"closed","issue":{"url":"https://api.github.com/repos/eclipse/jetty.project/issues/560","repository_url":"https://api.github.com/repos/eclipse/jetty.project","labels_url":"https://api.github.com/repos/eclipse/jetty.project/issues/560/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/jetty.project/issues/560/comments","events_url":"https://api.github.com/repos/eclipse/jetty.project/issues/560/events","html_url":"https://github.com/eclipse/jetty.project/issues/560","id":154072626,"number":560,"title":"Jetty Client Proxy Authentication does not work with HTTP Proxy tunneling","user":{"login":"dhirajsb","id":181691,"avatar_url":"https://avatars.githubusercontent.com/u/181691?v=3","gravatar_id":"","url":"https://api.github.com/users/dhirajsb","html_url":"https://github.com/dhirajsb","followers_url":"https://api.github.com/users/dhirajsb/followers","following_url":"https://api.github.com/users/dhirajsb/following{/other_user}","gists_url":"https://api.github.com/users/dhirajsb/gists{/gist_id}","starred_url":"https://api.github.com/users/dhirajsb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhirajsb/subscriptions","organizations_url":"https://api.github.com/users/dhirajsb/orgs","repos_url":"https://api.github.com/users/dhirajsb/repos","events_url":"https://api.github.com/users/dhirajsb/events{/privacy}","received_events_url":"https://api.github.com/users/dhirajsb/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/eclipse/jetty.project/labels/Bug","name":"Bug","color":"eb6420"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/eclipse/jetty.project/milestones/1","html_url":"https://github.com/eclipse/jetty.project/milestones/9.2.x","labels_url":"https://api.github.com/repos/eclipse/jetty.project/milestones/1/labels","id":1583581,"number":1,"title":"9.2.x","description":"Issue should be targeted for resolution in 9.2.x releases.","creator":{"login":"jmcc0nn3ll","id":273327,"avatar_url":"https://avatars.githubusercontent.com/u/273327?v=3","gravatar_id":"","url":"https://api.github.com/users/jmcc0nn3ll","html_url":"https://github.com/jmcc0nn3ll","followers_url":"https://api.github.com/users/jmcc0nn3ll/followers","following_url":"https://api.github.com/users/jmcc0nn3ll/following{/other_user}","gists_url":"https://api.github.com/users/jmcc0nn3ll/gists{/gist_id}","starred_url":"https://api.github.com/users/jmcc0nn3ll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmcc0nn3ll/subscriptions","organizations_url":"https://api.github.com/users/jmcc0nn3ll/orgs","repos_url":"https://api.github.com/users/jmcc0nn3ll/repos","events_url":"https://api.github.com/users/jmcc0nn3ll/events{/privacy}","received_events_url":"https://api.github.com/users/jmcc0nn3ll/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":5,"state":"open","created_at":"2016-02-15T15:30:24Z","updated_at":"2016-05-12T17:31:39Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2016-05-10T18:17:35Z","updated_at":"2016-05-12T17:31:39Z","closed_at":"2016-05-12T17:31:39Z","body":"Proxy authentication when using HTTP tunnel causes issues when copying request to send auth headers in [AuthenticationProcolHandler.java](https://github.com/eclipse/jetty.project/blob/jetty-9.2.x/jetty-client/src/main/java/org/eclipse/jetty/client/AuthenticationProtocolHandler.java#L151)\r\n\r\nIncluded a test case in PR https://github.com/eclipse/jetty.project/pull/568 , which fails with:\r\n\r\n```\r\njava.util.concurrent.ExecutionException: java.lang.NullPointerException\r\n\r\n\tat org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118)\r\n\tat org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101)\r\n\tat org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:653)\r\n\tat org.eclipse.jetty.proxy.ProxyTunnellingTest.testProxyAuth(ProxyTunnellingTest.java:325)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:483)\r\n\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)\r\n\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\r\n\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)\r\n\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\r\n\tat org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)\r\n\tat org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)\r\n\tat org.junit.rules.RunRules.evaluate(RunRules.java:20)\r\n\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)\r\n\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\r\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\r\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\r\n\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\r\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\r\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:363)\r\n\tat org.junit.runner.JUnitCore.run(JUnitCore.java:137)\r\n\tat com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119)\r\n\tat com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)\r\n\tat com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)\r\n\tat com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)\r\nCaused by: java.lang.NullPointerException\r\n\tat org.eclipse.jetty.client.HttpRequest.<init>(HttpRequest.java:89)\r\n\tat org.eclipse.jetty.client.HttpClient.newHttpRequest(HttpClient.java:456)\r\n\tat org.eclipse.jetty.client.HttpClient.copyRequest(HttpClient.java:420)\r\n\tat org.eclipse.jetty.client.AuthenticationProtocolHandler$AuthenticationListener.onComplete(AuthenticationProtocolHandler.java:151)\r\n\tat org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193)\r\n\tat org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185)\r\n\tat org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:453)\r\n\tat org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:400)\r\n\tat org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:266)\r\n\tat org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1268)\r\n\tat org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:156)\r\n\tat org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:117)\r\n\tat org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:69)\r\n\tat org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:89)\r\n\tat org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:122)\r\n\tat org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)\r\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)\r\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n```"}}