Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util')
-rw-r--r--org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java
index 6a2b2f936..2afebf8a4 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/util/TracHttpClientTransportFactory.java
@@ -16,6 +16,7 @@ import java.lang.reflect.Field;
import java.net.HttpURLConnection;
import java.net.Proxy;
+import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpVersion;
import org.apache.commons.httpclient.methods.PostMethod;
@@ -53,11 +54,13 @@ public class TracHttpClientTransportFactory implements XmlRpcTransportFactory {
public static class TracHttpClientTransport extends XmlRpcCommonsTransport {
private Proxy proxy;
+ private Cookie[] cookies;
- public TracHttpClientTransport(XmlRpcClient client, Proxy proxy) {
+ public TracHttpClientTransport(XmlRpcClient client, Proxy proxy, Cookie[] cookies) {
super(client);
this.proxy = proxy;
+ this.cookies = cookies;
XmlRpcHttpClientConfig config = (XmlRpcHttpClientConfig) client.getConfig();
// this needs to be set to avoid exceptions
@@ -121,6 +124,9 @@ public class TracHttpClientTransportFactory implements XmlRpcTransportFactory {
String url = config.getServerURL().toString();
WebClientUtil.setupHttpClient(getHttpClient(), proxy, url, null, null);
+ if (cookies != null) {
+ getHttpClient().getState().addCookies(cookies);
+ }
PostMethod method = new PostMethod(WebClientUtil.getRequestPath(url));
setMethod(method);
@@ -143,13 +149,14 @@ public class TracHttpClientTransportFactory implements XmlRpcTransportFactory {
private XmlRpcClient client;
private Proxy proxy;
+ private Cookie[] cookies;
public TracHttpClientTransportFactory(XmlRpcClient client) {
this.client = client;
}
public XmlRpcTransport getTransport() {
- return new TracHttpClientTransport(client, proxy);
+ return new TracHttpClientTransport(client, proxy, cookies);
}
public Proxy getProxy() {
@@ -160,4 +167,12 @@ public class TracHttpClientTransportFactory implements XmlRpcTransportFactory {
this.proxy = proxy;
}
+ public Cookie[] getCookies() {
+ return cookies;
+ }
+
+ public void setCookies(Cookie[] cookies) {
+ this.cookies = cookies;
+ }
+
}

Back to the top