Sounds like some odd configuration on your server then, somewhere, because we absolutely want a trailing slash on requests. Perhaps something is adding a double trailing slash somewhere?
We use urllib2 as well for post-review, and it uses trailing slashes. Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Thu, Mar 29, 2012 at 3:24 PM, Ken Klingman <capt...@gmail.com> wrote: > Umm, no, the problem is that ReviewBoard does *not* like a > trailing slash. When I remove the trailing slash, all works well. > > That's why I was so surprised that you returned the URL for > the user record with a trailing slash. I have to strip it to make > it work. > > Perhaps this is only an issue when using urllib2, since when I > feed a trailing slash in a browser URL field it all works fine. But > it sure does break in urllib2 with trailing slashes. > > Ken > > On Mar 27, 12:51 pm, Christian Hammond <chip...@chipx86.com> wrote: > > Yeah, Review Board expects that every single URL is going to have a > > trailing slash, and should generate each URL with one. Always assume > that's > > the case when building URLs and you should be okay. > > > > Christian > > > > -- > > Christian Hammond - chip...@chipx86.com > > Review Board -http://www.reviewboard.org > > VMware, Inc. -http://www.vmware.com > > > > > > > > > > > > > > > > On Tue, Mar 27, 2012 at 10:53 AM, Ken Klingman <capt...@gmail.com> > wrote: > > > Problem solved. Beware of embedded and trailing slashes. > > > I'd say to use the URL or URL templates as defined in the > > > api, but ReviewBoard returns the user URL with a trailing > > > slash. > > > > > Ken > > > > > On Tuesday, March 27, 2012 6:39:12 AM UTC-7, Ken Klingman wrote: > > > > >> Hi, > > > > >> Using the web services interface on 1.6.4.1 with a Python (2.7) script > > >> and the urllib2 module I am getting an HTTP error 405 when requesting > the > > >> XML for an individual review (api/review-requests/<rb entry>), yet it > works > > >> just fine when I request the XML for the set of reviews for that > individual > > >> RB entry (api/review-requests/<rb entry>/reviews). Both URL's work > fine, > > >> returning appropriate XML when pasted into a browser. > > > > >> Both of the URL's worked fine with a previous ReviewBoard > installation of > > >> version 1.4.x. > > > > >> Here's a snippet of code that fails with the 405: > > > > >> #!/usr/bin/env python > > > > >> import urllib2 > > > > >> url = "http://reviewboard/api/**review-requests/6721/< > http://reviewboard/api/review-requests/6721/> > > >> " > > >> header = {'Accept': "application/xml"} > > >> request = urllib2.Request(url, "", header) > > >> f = urllib2.urlopen(request) > > >> xml = f.read() > > >> f.close() > > >> print xml > > > > >> (replace reviewboard in the URL with the correct system name, redacted > > >> for security) > > > > >> Traceback (most recent call last): > > >> File "./t.pl", line 8, in <module> > > >> f = urllib2.urlopen(request) > > >> File "/usr/lib/python2.7/urllib2.**py", line 126, in urlopen > > >> return _opener.open(url, data, timeout) > > >> File "/usr/lib/python2.7/urllib2.**py", line 400, in open > > >> response = meth(req, response) > > >> File "/usr/lib/python2.7/urllib2.**py", line 513, in http_response > > >> 'http', request, response, code, msg, hdrs) > > >> File "/usr/lib/python2.7/urllib2.**py", line 438, in error > > >> return self._call_chain(*args) > > >> File "/usr/lib/python2.7/urllib2.**py", line 372, in _call_chain > > >> result = func(*args) > > >> File "/usr/lib/python2.7/urllib2.**py", line 521, in > http_error_default > > >> raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) > > >> urllib2.HTTPError: HTTP Error 405: Method Not Allowed > > > > >> If I simply add "/reviews" to the URL, it works fine and I get the XML > > >> returned with all the reviews. Incidentally, I also get a 405 when > > >> accessing a RB user's set of XML (api/users/<rb username>). > > > > >> This has been driving me nuts, so any help would be greatly > appreciated! > > > > >> Thanks, > > >> Ken > > > > >> -- > > > Want to help the Review Board project? Donate today at > > >http://www.reviewboard.org/donate/ > > > Happy user? Let us know athttp://www.reviewboard.org/users/ > > > -~----------~----~----~----~------~----~------~--~--- > > > To unsubscribe from this group, send email to > > > reviewboard+unsubscr...@googlegroups.com > > > For more options, visit this group at > > >http://groups.google.com/group/reviewboard?hl=en > > -- > Want to help the Review Board project? Donate today at > http://www.reviewboard.org/donate/ > Happy user? Let us know at http://www.reviewboard.org/users/ > -~----------~----~----~----~------~----~------~--~--- > To unsubscribe from this group, send email to > reviewboard+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/reviewboard?hl=en > -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~----------~----~----~----~------~----~------~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en