• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSURLRequest and HTTP PUT?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSURLRequest and HTTP PUT?


  • Subject: Re: NSURLRequest and HTTP PUT?
  • From: John Lombardo <email@hidden>
  • Date: Thu, 27 May 2004 19:34:47 +0800

Well, this is just awesome. I only just realised today that I should be using PUT rather than GET in my app. How does the Cocoa bug fix cycle actually work? Like, beyond filing bugs, what happens? (Up to and including being able to use the fixed classes)

On 25/05/2004, at 12:11 PM, Jonathan Younger wrote:

It's a known bug. The only option at this point is to use something other than NSMutableURLRequest/NSURLConnection to do the HTTP PUT.

-Jonathan

On May 24, 2004, at 8:24 PM, Jan van Doorn wrote:

Hello,

Sorry if this is easy to be found in docs or on the web, but I tried, and couldn't find anything remotely helpful. I am still pretty new to Cocoa, and even newer to this list, so again, please excuse me if I am asking the wrong question, or the wrong people.

I am trying to do a HTTP PUT from my Cocoa application. I used Neon (http://www.webdav.org/neon) before, that worked, but I had some stability problems, and want a bit more flexibility, so now, I am looking into NSURL* (Request, Response, Connection) to do the job.

My problem is that it seems to never actually send the body with the PUT request. Below is a little snippet of code. It sends the request, but, there is no Content-Length: header, and the body is 0 bytes. If I just change the "[request setHTTPMethod:@"PUT"];" to "[request setHTTPMethod:@"POST"];" it actually will include the body in the request, and gives me a Content-Length: header for free. But I want to PUT, not POST. I used ethereal to verify the contents of the request when it arrives at the server.

I am pretty sure the NSURLRequest should support the "PUT" method, it does support the more exotic (webdav) MKCOL method, I got that working in just a couple of minutes.... There's no body with that though.

----- code snippet -----
NSString *sourceFileName = "/Users/JvD/tmp/testfile.txt";
NSString *urlString=[[NSString alloc] initWithString:@"http://myserver.mydomain.com/testfile.txt";];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];
NSData *fileData = [[NSData alloc] initWithContentsOfFile:sourceFileName];
[request setHTTPMethod:@"PUT"];
[request setHTTPBody:[fileData retain]]; // I tried with and without retain message
NSData *body = [request HTTPBody];
NSLog(@"data: %@", [[NSString alloc]initWithData:body encoding:NSUTF8StringEncoding]); // this show the contents of the txt file
NSData *respData;
NSURLResponse *response;
NSError *error;
respData = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
----- /code snippet -----

Any and all help would be appreciated.

Cheers,
JvD
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.


References: 
 >NSURLRequest and HTTP PUT? (From: Jan van Doorn <email@hidden>)
 >Re: NSURLRequest and HTTP PUT? (From: Jonathan Younger <email@hidden>)

  • Prev by Date: Re: moving file by NSFileManager
  • Next by Date: Notification from ABPeoplePickerView
  • Previous by thread: Re: NSURLRequest and HTTP PUT?
  • Next by thread: Toolbar in a Sheet?
  • Index(es):
    • Date
    • Thread