ಎಲ್ಲಾ ಭಾಷೆಗಳು ಮತ್ತು ಫ್ರೇಮ್ವರ್ಕ್ಗಳು
Ring + reitit Clojure
/pixel.gif ಗೆ ಬರುವ ವಿನಂತಿಗಳಿಗೆ ಖಾಲಿ GIF ನೊಂದಿಗೆ ಉತ್ತರಿಸುವ, Ring + reitit ಗಾಗಿ ಒಂದು Clojure ಸ್ನಿಪೆಟ್; GIF ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಒಮ್ಮೆ ಮಾತ್ರ ಡಿಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.
Ring + reitit Clojure
(ns pixel.core
(:require [reitit.ring :as ring]
[ring.adapter.jetty :as jetty])
(:import (java.util Base64)))
(def gif (.decode (Base64/getDecoder) "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="))
(def app
(ring/ring-handler
(ring/router
["/pixel.gif" {:get (fn [_]
{:status 200
:headers {"Content-Type" "image/gif"
"Content-Length" (str (alength gif))
"Cache-Control" "no-store"}
:body gif})}])
(ring/create-default-handler)))
(defn -main []
(jetty/run-jetty app {:port 8080 :join? true}))
ನಾವು ಈ ಸ್ನಿಪೆಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ, ಅದು ಹಿಂತಿರುಗಿಸಿದ ಬೈಟ್ಗಳನ್ನು ಹೋಲಿಸಿದ್ದೇವೆ.
ಪರಿಶೀಲಿಸಿ
curl -sI http://localhost:8080/pixel.gif