- From: Pere Mayol de Tord <perem@ibm.net>
- Date: Thu, 11 Sep 1997 20:15:57 +0200
- To: <www-jigsaw@w3.org>
I'm testing http put meyjhod with jigsaw server. And there's no way to make it work. I define a PutableDirectory resource (named '/putable'), and I use as client, the java api 'upload' that you published in this list. The Api is as follows: // upload.java import java.io.*; import java.net.*; import w3c.www.mime.*; import w3c.www.http.*; import w3c.www.protocol.http.*; /** * Upload a single file, using HTTP. */ public class PutApi { protected static boolean debug = true; /** * Copy the given source of given type, to given location. * @param type The MIME type of the source. * @param src The source to copy. * @param dst The destination URL. */ protected static boolean copy(MimeType type, File src, URL dst) throws IOException, HttpException { HttpManager manager = HttpManager.getManager(); // Get a handle to the source stream: InputStream in = new BufferedInputStream(new FileInputStream(src)); // Prepare an HTTP request: Request request = manager.createRequest(); request.setMethod("PUT"); request.setURL(dst); request.setContentLength((int) src.length()); request.setContentType(type); request.setOutputStream(in); if ( debug ) request.dump(System.out); // Run the request: Reply reply = manager.runRequest(request); if ( debug ) reply.dump(System.out); in.close(); // Check the reply status: return (reply.getStatus() / 200 == 2); } public static void usage() { System.out.println("PutApi [-t <mime-type>] [-d] <src> <dst>"); System.out.println("src: URL of source."); System.out.println("dst: URL of destination."); System.exit(1); } public static void main(String args[]) { File src = null; URL dst = null; MimeType type = MimeType.TEXT_HTML; // Check args: for (int i = 0 ; i < args.length ; i++) { if ( args[i].equals("-t") && (i+1 < args.length)) { try { type = new MimeType(args[++i]); } catch (Exception ex) { System.out.println("Invalid mime type: "+args[i]); } } else if ( args[i].equals("-d") ) { debug = true; } else if ( i + 2 == args.length ) { // Get the source: src = new File(args[i]); if ( ! src.exists() ) { System.out.println("Couldn't find "+args[i]); System.exit(1); } // Get the destination: try { dst = new URL(args[++i]); } catch (Exception ex) { System.out.println(args[i]+": invalid URL."); } } else { usage(); } } if ((src == null) || (dst == null)) usage(); // Perform the task: try { if ( copy(type, src, dst) ) System.out.println("Copy failed."); else System.out.println("Copy done."); } catch (Exception ex) { ex.printStackTrace(); } System.exit(0); } } The answer I get is as follows: C:\java\prova>java PutApi cv.txt http://127.1.1.1:8000/putable PUT /putable HTTP/1.1 Date: Wed, 10 Sep 1997 16:47:17 GMT Content-Length: 7847 Content-Type: text/html Accept: */* Host: 127.1.1.1:8000 User-Agent: Jigsaw/1.0b HTTP/1.1 302 Moved Temporarily Date: Wed, 10 Sep 1997 16:47:18 GMT Content-Length: 188 Content-Type: text/html Location: http://127.1.1.1:8000/putable/ Server: 1.0beta1 Copy done. C:\java\prova> Where's the problem??? Thanks oooooooooooooooooooooo Pere Mayol de Tord perem@ibm.net oooooooooooooooooooooo
Received on Thursday, 11 September 1997 14:23:09 UTC