ise yeniden yönlendiriyorum Sitemde SSL'yi zorlamaya çalışıyorum. Siteyi https ile aynı URL'ye yönlendirmek için bir halka stili ortama sahip olmak istiyorum. Eğer sadece httpClojure/Noir: HTTPS'yi zorla, isteği http: // - https: //
Aşağıdaki kodu yazdım, ancak istek şemasını kontrol etmekten başka bir şey yapmıyor. Yönlendirilecek URL.
(defn https-url [request-url]
(str (str (str (str "https://" (:server-name request-url) ":") (:server-port request-url))) (:uri request-url)))
(defn require-https
[handler]
(fn [request]
(let [page-request (handler request)]
(if (= (:scheme page-request) :http)
(println (https-url page-request))))))
(server/add-middleware require-https)
nasıl gerçek app içine bu uygulamaya koyacak ?
Noir ile clojure 1.2 kullanıyorum.
Yan not: Birden çok dizeyi birden çok iç içe geçmiş str kullanarak bir dizeye nasıl bağlarım?
Hmm, onun bu yönlendirme fonksiyonunu tetikleme. Ama bir nedenden dolayı yönlendirmiyor. Bunu nereye yerleştirmeliyim? Şu anda server.clj dosyasında var -main tanımı – dMix
İşleçinizin dönüş değeri olan 'ring.util.response/redirect''in dönüş değerini yapmanız gerekiyor, muhtemelen dış ara katman tarafından değiştirilecek Tabi durum ve "Konum" başlığının tek başına başarılı olması için, elbette). Örnek: https://refheap.com/paste/758 –
Sunucu işleyicisi, örneğinizde olduğundan daha yüksek bir soyutlama seviyesinde. Bu yüzden bana nerede koymak için açık değil, benim server.clj https://gist.github.com/1840261 myes benim başımın üstünde bu olabilir :) – dMix