我想设置一个
Date
标题。它应该是这样的格式:
Date: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
Date: Wed, 21 Oct 2015 07:28:00 GMT
这是我到目前为止所拥有的:
import gleam/http/elli
import gleam/http/response.{type Response}
import gleam/http/request.{type Request}
import gleam/bytes_builder.{type BytesBuilder}
import birl
// Define a HTTP service
//
pub fn my_service(_request: Request(t)) -> Response(BytesBuilder) {
let body = bytes_builder.from_string("Hello, world!")
response.new(200)
|> response.prepend_header("content-type", "text/plain")
|> response.prepend_header("server", "gleam")
|> response.prepend_header("date", birl.to_iso8601(birl.now()))
|> response.set_body(body)
}
pub fn main() {
elli.become(my_service, on_port: 8080)
}
您可以使用 Birl 库的 format_date 函数:
import gleam/http/elli
import gleam/http/response.{type Response}
import gleam/http/request.{type Request}
import gleam/bytes_builder.{type BytesBuilder}
import birl
import time.{Iso8601}
// Define a HTTP service
//
pub fn my_service(_request: Request(t)) -> Response(BytesBuilder) {
let body = bytes_builder.from_string("Hello, world!")
response.new(200)
|> response.prepend_header("content-type", "text/plain")
|> response.prepend_header("server", "gleam")
|> response.prepend_header("date", format_date(birl.now()))
|> response.set_body(body)
}
fn format_date(timestamp: Iso8601) -> String {
let date = birl.format_date(timestamp, "EEE, dd MMM yyyy HH:mm:ss 'GMT'")
date
}
pub fn main() {
elli.become(my_service, on_port: 8080)
}
看起来
birl
有to_http
功能。
birl.to_http(birl.now())