

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
9 messages in org.apache.jakarta.slide-devProxy support in WebDAV client and patch| From | Sent On | Attachments |
|---|---|---|
| Ingo Brunberg | Feb 17, 2003 5:29 am | |
| Remy Maucherat | Feb 17, 2003 5:49 am | |
| Remy Maucherat | Feb 17, 2003 6:24 am | |
| Ingo Brunberg | Feb 17, 2003 7:23 am | |
| Michael Smith | Feb 18, 2003 4:24 pm | |
| Remy Maucherat | Feb 19, 2003 12:57 am | |
| Lolo | Feb 19, 2003 1:03 am | |
| Pill, Juergen | Feb 19, 2003 6:37 am | |
| Michael Wechner | Feb 19, 2003 4:59 pm |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Proxy support in WebDAV client and patch | Actions... |
|---|---|---|
| From: | Ingo Brunberg (ib...@fiz-chemie.de) | |
| Date: | Feb 17, 2003 5:29:45 am | |
| List: | org.apache.jakarta.slide-dev | |
Hi Slide developers,
although most contributions to Slide seem to be ignored, I am now trying it again. I hope there is still at least one active commiter who is interested in the client side.
Here are patches for WebdavResource.java and WebdavSession.java which address the following issues:
- Modify WebdavSession.java to allow for proxied https. - Add some constructors to WebdavResource.java to make using a proxy easier. Of course one could add even more constructors. - Do not do a refresh() on a WebdavResource after its target has been deleted. - Fix HttpURL for a WebdavResource after applying the MoveMethod before calling refresh(). - Add an additional labelMethod, which takes a destination path as a parameter.
This is a compilation of issues that came up on the developer and the user list in the past weeks. Note that these changes are minimal and I have tested them and they work.
An important thing still missing from these patches is the wrong charset encoding used by most of the WebDAV methods. Rob Owen has described those problems and sent patches to this list, too. Please pay more attention to these kind of posts!!!
Thanks, Ingo
Index: src/webdav/client/src/org/apache/webdav/lib/WebdavResource.java
===================================================================
RCS file:
/home/cvspublic/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/WebdavResource.java,v
retrieving revision 1.55
diff -u -r1.55 WebdavResource.java
--- src/webdav/client/src/org/apache/webdav/lib/WebdavResource.java 7 Feb 2003
14:58:57 -0000 1.55
+++ src/webdav/client/src/org/apache/webdav/lib/WebdavResource.java 17 Feb 2003
12:50:09 -0000
@@ -293,6 +293,24 @@
/** * The constructor. + * + * @param httpURL The specified http URL. + * @param proxyHost The hostname of the proxy to use. + * @param proxyPort The port number of the proxy to use. + * @exception HttpException + * @exception IOException + * @see #setDefaultAction(int) + */ + public WebdavResource(HttpURL httpURL, String proxyHost, int proxyPort) + throws HttpException, IOException { + + setProxy(proxyHost, proxyPort); + setHttpURL(httpURL); + } + + + /** + * The constructor. * It must be put an escaped http URL as an arguement. * * @param escapedHttpURL The escaped http URL string. @@ -309,6 +327,25 @@
/** * The constructor. + * It must be put an escaped http URL as an arguement. + * + * @param escapedHttpURL The escaped http URL string. + * @param proxyHost The hostname of the proxy to use. + * @param proxyPort The port number of the proxy to use. + * @exception HttpException + * @exception IOException + * @see #setDefaultAction(int) + */ + public WebdavResource(String escapedHttpURL, String proxyHost, + int proxyPort) throws HttpException, IOException { + + setProxy(proxyHost, proxyPort); + setHttpURL(escapedHttpURL); + } + + + /** + * The constructor. * * @param httpURL The http URL. * @param additionalPath The added relative path. @@ -2613,6 +2650,15 @@ public boolean labelMethod(String labelname, int type) throws HttpException, IOException { + return labelMethod(httpURL.getPath(), labelname, type); + } + + /** + * Execute a LABEL method on the given path, setting the given label + */ + public boolean labelMethod(String path, String labelname, int type) + throws HttpException, IOException + { int labeltype=0;
switch(type) { @@ -2628,8 +2674,7 @@ }
setClient(); - LabelMethod method = new LabelMethod(httpURL.getPath(), labeltype, - labelname); + LabelMethod method = new LabelMethod(path, labeltype, labelname);
int statusCode = client.executeMethod(method);
@@ -3389,7 +3434,6 @@ throws HttpException, IOException {
boolean result = deleteMethod(httpURL.getPath()); - if (result) refresh();
return result; } @@ -3427,9 +3471,12 @@ public boolean moveMethod(String destination) throws HttpException, IOException {
- boolean result = moveMethod(httpURL.getPath(), - HttpURL.getPath(destination)); - if (result) refresh(); + String destinationPath = HttpURL.getPath(destination); + boolean result = moveMethod(httpURL.getPath(), destinationPath); + if (result) { + httpURL.setPath(destinationPath); + refresh(); + }
return result; }
Index: src/webdav/client/src/org/apache/webdav/lib/WebdavSession.java
===================================================================
RCS file:
/home/cvspublic/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/WebdavSession.java,v
retrieving revision 1.25
diff -u -r1.25 WebdavSession.java
--- src/webdav/client/src/org/apache/webdav/lib/WebdavSession.java 16 Dec 2002
15:17:29 -0000 1.25
+++ src/webdav/client/src/org/apache/webdav/lib/WebdavSession.java 17 Feb 2003
12:50:38 -0000
@@ -185,7 +185,8 @@
client.setState(new WebdavState());
if(proxyHost != null && proxyPort > 0)
client.startSession(httpURL.getHost(), httpURL.getPort(),
- proxyHost, proxyPort);
+ proxyHost, proxyPort,
+ httpURL.getEscapedHttpURL().startsWith("https"));
else
client.startSession(httpURL.getHost(), httpURL.getPort(),
httpURL.getEscapedHttpURL().startsWith("https"));







