அனைத்து மொழிகளும் ஃப்ரேம்வொர்க்குகளும்
Wisp Gleam
/pixel.gif க்கு வரும் ரெக்வெஸ்ட்களுக்கு empty GIF மூலம் பதிலளிக்கும், Wisp க்கான Gleam ஸ்னிப்பெட். GIF ஸ்டார்ட்அப்பில் ஒருமுறை மட்டுமே டீகோட் செய்யப்படுகிறது.
Wisp Gleam
import gleam/bit_array
import gleam/bytes_tree
import gleam/erlang/process
import gleam/http
import mist
import wisp
import wisp/wisp_mist
pub fn main() {
wisp.configure_logger()
let assert Ok(gif) = bit_array.base64_decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
let assert Ok(_) =
wisp_mist.handler(handle_request(_, gif), wisp.random_string(64))
|> mist.new
|> mist.bind("0.0.0.0")
|> mist.port(8080)
|> mist.start
process.sleep_forever()
}
fn handle_request(req: wisp.Request, gif: BitArray) -> wisp.Response {
case req.method, req.path {
http.Get, "/pixel.gif" ->
wisp.response(200)
|> wisp.set_header("content-type", "image/gif")
|> wisp.set_header("cache-control", "no-store")
|> wisp.set_body(wisp.Bytes(bytes_tree.from_bit_array(gif)))
_, _ -> wisp.not_found()
}
}
இந்த ஸ்னிப்பெட்டை ரன் செய்து, அது திருப்பித் தந்த பைட்களை ஒப்பிட்டுப் பார்த்தோம்.
சரிபார்
curl -sI http://localhost:8080/pixel.gif