From 4c18a29a0cfb2a5cd1c0c366a3a26f77d1b6dc0b Mon Sep 17 00:00:00 2001 From: main Date: Sat, 5 Jul 2025 04:28:40 -0700 Subject: [PATCH] fix bug with arpa n-gon footer --- srv/content/router.hy | 23 ++++++++++++----------- www/src/templates/footer.hy | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/srv/content/router.hy b/srv/content/router.hy index e6d3e5f..bc6c43e 100644 --- a/srv/content/router.hy +++ b/srv/content/router.hy @@ -89,13 +89,14 @@ (f method post request #** kwargs) (otherwise method post request #** kwargs))))) -(defn 303-if-not-arpa [f] - (fn [method path request] - (if (. request (get "headers") (get "Host") (endswith "arpa")) - (f method path request) - (dict - :code 303 - :headers {"Location" f"http://natalieee.net.8.f.9.e.0.7.4.0.1.0.0.2.ip6.arpa{(. request (get "route") (get "unparsed_route"))}"})))) +(defn 303-if-not-arpa [[unless (fn [#* _] False)]] + (fn [f] + (fn [method path request] + (if (or (. request (get "headers") (get "Host") (endswith "arpa")) (unless request)) + (f method path request) + (dict + :code 303 + :headers {"Location" f"http://natalieee.net.8.f.9.e.0.7.4.0.1.0.0.2.ip6.arpa{(. request (get "route") (get "unparsed_route"))}"}))))) (defn shtml-file-response [file [code 200] [no-exec False] [template-params {}]] (dict @@ -122,19 +123,19 @@ ;; *.arpa web n-gon (setv members (arpa-n-gon.get-members)) -(defn [(route "/arpa-n-gon" GET) 303-if-not-arpa] /arpa-n-gon #route-args (shtml-file-response "arpa-n-gon.html" :template-params (dict :n_gon (arpa-n-gon.n-gon-name (len members)) :n_gon_inc (arpa-n-gon.n-gon-name (+ (len members) 1)) :n (len members)))) +(defn [(route "/arpa-n-gon" GET) (303-if-not-arpa)] /arpa-n-gon #route-args (shtml-file-response "arpa-n-gon.html" :template-params (dict :n_gon (arpa-n-gon.n-gon-name (len members)) :n_gon_inc (arpa-n-gon.n-gon-name (+ (len members) 1)) :n (len members)))) -(defn [(route "/arpa-n-gon/nav" GET) 303-if-not-arpa (forward-params "current" "style") (require-params "current") ] /arpa-n-gon/nav #route-args [current [style None]] +(defn [(route "/arpa-n-gon/nav" GET) (303-if-not-arpa :unless (fn [request] (in "from-iframe" (. request (get "route") (get "parameters") (keys))))) (forward-params "current" "style") (require-params "current") ] /arpa-n-gon/nav #route-args [current [style None]] (shtml-file-response "arpa-n-gon-nav.html" :no-exec True :template-params (dict :style style :next (+ "http://" (get (arpa-n-gon.next-member members current) "arpa-domain")) :prev (+ "http://" (get (arpa-n-gon.prev-member members current) "arpa-domain")) :n_gon (arpa-n-gon.n-gon-name (len members))))) -(defn [(route "/arpa-n-gon/next" GET) 303-if-not-arpa (forward-params "current" )(require-params "current")] /arpa-n-gon/next #route-args [current] (dict +(defn [(route "/arpa-n-gon/next" GET) (303-if-not-arpa) (forward-params "current" )(require-params "current")] /arpa-n-gon/next #route-args [current] (dict :code 303 :headers {"Location" (+ "http://" (get (arpa-n-gon.next-member members current) "arpa-domain"))})) -(defn [(route "/arpa-n-gon/prev" GET) 303-if-not-arpa (forward-params "current") (require-params "current")] /arpa-n-gon/next #route-args [current] (dict +(defn [(route "/arpa-n-gon/prev" GET) (303-if-not-arpa) (forward-params "current") (require-params "current")] /arpa-n-gon/next #route-args [current] (dict :code 303 :headers {"Location" (+ "http://" (get (arpa-n-gon.prev-member members current) "arpa-domain"))})) diff --git a/www/src/templates/footer.hy b/www/src/templates/footer.hy index 321970d..708ab02 100644 --- a/www/src/templates/footer.hy +++ b/www/src/templates/footer.hy @@ -20,5 +20,5 @@ (a (:href "https://stellophiliac.github.io/roboring") "roboring") (a (:href "https://stellophiliac.github.io/roboring/0x6e6174/next") "->")) - (iframe (:src "/arpa-n-gon/nav?current=natalieee.net.8.f.9.e.0.7.4.0.1.0.0.2.ip6.arpa&style=/assets/arpa-n-gon.css")))) + (iframe (:src "/arpa-n-gon/nav?current=natalieee.net.8.f.9.e.0.7.4.0.1.0.0.2.ip6.arpa&style=/assets/arpa-n-gon.css&from-iframe")))) (span ~(run "git log -1 --format=%h"))))