mirror of
https://codeberg.org/cage/tinmop/
synced 2025-02-17 08:10:36 +01:00
- [gemini] remove redirect loop when the meta was an absolute URI.
This commit is contained in:
parent
de980b44b7
commit
d45388e4dc
@ -518,18 +518,20 @@
|
||||
(defgeneric build-redirect-iri (meta iri-from))
|
||||
|
||||
(defmethod build-redirect-iri (meta (iri-from iri:iri))
|
||||
(let* ((meta-url (ignore-errors (iri:iri-parse meta))))
|
||||
(let* ((meta-url (ignore-errors (iri:iri-parse meta))))
|
||||
(when meta-url
|
||||
(let* ((meta-query (uri:query meta-url))
|
||||
(meta-path (uri:path meta-url))
|
||||
(meta-path-query (if meta-query
|
||||
(strcat meta-path "?" meta-query)
|
||||
meta-path))
|
||||
(new-url (gemini-parser:absolutize-link meta-path-query
|
||||
(uri:host iri-from)
|
||||
(uri:port iri-from)
|
||||
(uri:path iri-from))))
|
||||
new-url))))
|
||||
(if (absolute-gemini-url-p meta)
|
||||
meta
|
||||
(let* ((meta-query (uri:query meta-url))
|
||||
(meta-path (uri:path meta-url))
|
||||
(meta-path-query (if meta-query
|
||||
(strcat meta-path "?" meta-query)
|
||||
meta-path))
|
||||
(new-url (gemini-parser:absolutize-link meta-path-query
|
||||
(uri:host iri-from)
|
||||
(uri:port iri-from)
|
||||
(uri:path iri-from))))
|
||||
new-url)))))
|
||||
|
||||
(defmethod build-redirect-iri (meta (iri-from string))
|
||||
(build-redirect-iri meta (iri:iri-parse iri-from)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user