Apologies for the slow response. I've attempted to take your
suggestions into account, but the changes are a bit more significant
this time around. :)
On 2006-08-01 10:07:46 -0700, Daniel Rall wrote:
> commit.c has the interrogate_for_location() routine for doing this
> work. Would it be possible to refactor both variations of
> "Location" header retreival logic into there, and maintain an API
> which is compliant with Neon 0.25?
I've done a bit of refactoring to svn_ra_dav__request_interrogator
in order to make it backwards compatible.
The function interrogate_for_location from commit.c has been moved to
util.c.
The two request interrogator arguments to svn_ra_dav__request_dispatch
are now part of the function's prototype regardless of Neon version.
This required making the function interrogate_for_content_type in
fetch.c backwards compatible also.
> While we don't use ne_free() in other places we access the
> "Location" header, since we get the data from Neon I think we
> should. (It's simply #define'd to free() on my Linux box.)
I was unsure about this; I've changed it to ne_free in the latest
version of the patch.
[[
Patch by: Daniel Westermann-Clark <dwc@tigris.org>
Suggested by: Mark Benedetto King <mbk@tigris.org>
Greg Stein <gstein@tigris.org>
Reviewed by:
Fix issue #660: Notify ra_dav user of repository redirection.
* subversion/include/svn_error_codes.h
Add SVN_ERRDEF for moved/relocated repositories named
SVN_ERR_RA_DAV_RELOCATED
* subversion/libsvn_ra_dav/ra_dav.h
(interrogate_for_location): Add prototype.
(svn_ra_dav__request_dispatch): Update prototype to accept
interrogator regardless of Neon version.
* subversion/libsvn_ra_dav/commit.c
(interrogate_for_location): Move to util.c.
* subversion/libsvn_ra_dav/fetch.c
(interrogate_for_content_type): Make compatible with Neon < 0.25
using ne_add_response_header_handler.
(custom_get_request): Always pass interrogate_for_content_type when
dispatching the request.
* subversion/libsvn_ra_dav/util.c
(interrogate_for_location): Move from commit.c and make compatible
with Neon < 0.25.
(parsed_request): For response status codes 301 and 302, provide an
error message with the new location of the repository based on the
Location response header.
(svn_ra_dav__request_dispatch): Update prototype to accept
interrogator regardless of Neon version.
]]
--
Daniel Westermann-Clark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Aug 19 06:06:16 2006