[pmwiki-users] Re: Pmwiki emacs mode not handling redirects
chr at home.se
chr at home.se
Wed Sep 28 10:16:44 CDT 2005
On Thu, 29 Sep 2005, Robin wrote:
> I have my wiki set up on '/', and a so request to
> http://www.kallisti.net.nz/ results in a 301 redirect to
> http://www.kallisti.net.nz/Main/HomePage. However, if I open that URI
> from within emacs, it requests:
> .../?pagename=Main%2eHomePage&action=source
> which results in a redirect to:
> .../Main/HomePage?pagename=Main%2eHomePage&action=source
> which the emacs mode doesn't follow.
>
> If I tell it to open
> .../Main/HomePage/Main/HomePage
> then it works fine, because pmwiki sees the request. However, this isn't
> the nicest way of doing things. Is there a better workaround for this?
> If the mode requested .../Main/HomePage?action=source then that would do
> the trick.
>
> ('...' equals my hostname so I don't have to keep typing it:)
I think you're looking for this:
http://pmwiki.org/wiki/EmacsModes/URITransforms
(The information was previously in pmwiki-mode.el and the change log, but
now I've also copied it to a separate page).
> Also, it would be nice if the emacs http-get set a user-agent string, just
> for logging purposes (but that's not really a requirement)
That shouldn't be too difficult... try messing with the function
pmwiki-edit in pmwiki-mode.el. To be a little bit more specific, modify it
like this:
(when (string-match pmwiki-password-URI-pattern page-uri)
(setq user-and-password (base64-encode-string
(match-string 1 page-uri)))
(setq page-uri (replace-regexp-in-string
"http://.*?:.*?@" "http://" page-uri))
(add-to-list 'headers (list "Authorization"
(concat "Basic " user-and-password))))
;; New line below this comment
(add-to-list 'headers (list "User-Agent" "Emacs pmwiki-mode"))
(set 'proc
(http-get (concat page-uri "&action=source") ; Source URI
headers ; headers
nil ; ?
http-ver ; nil -> 1.0
(pmwiki-link-to-name link) ; output buffer
content-type) ) ; typically nil
Please note that I haven't tested the above... nor do I have a clue if the
string "User-Agent" is correct... It might work though ;-)
/Christian
PS. The above is based on the latest CVS version of pmwiki-mode. Please
use that since I've been too lazy to provide a release in a long while.
(I find using CVS so convenient)
--
Christian Ridderström, +46-8-768 39 44 http://www.md.kth.se/~chr
More information about the pmwiki-users
mailing list