openlang

Gleam 的 HTTP 响应头需要怎样的日期格式?

我想发送一个 Date 响应头。所需的格式如下。

Date: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
Date: Sun, 23 Oct 2016 08:29:01 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

 // Set up an HTTP service
 //
 pub fn serve_incoming(_incoming: Request(t)) -> Response(BytesBuilder) {
   let payload = bytes_builder.from_string("Hello there!")

   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(payload)
 }

 pub fn main() {
   elli.become(serve_incoming, on_port: 8181)
 }
从英语翻译查看原文

后续讨论 3

顺着彼此的依据读下去
  1. 固定链接

    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}
    
     // Set up an HTTP service
     //
     pub fn serve_incoming(_incoming: Request(t)) -> Response(BytesBuilder) {
       let payload = bytes_builder.from_string("Hello there!")
    
       response.new(200)
       |> response.prepend_header("content-type", "text/plain")
       |> response.prepend_header("server", "gleam")
       |> response.prepend_header("date", http_date(birl.now()))
       |> response.set_body(payload)
     }
    
     fn http_date(moment: Iso8601) -> String {
       let formatted = birl.format_date(moment, "EEE, dd MMM yyyy HH:mm:ss 'GMT'")
       formatted
     }
    
     pub fn main() {
       elli.become(serve_incoming, on_port: 8181)
     }
    从英语翻译查看原文

同一个问题的其他角度

  1. 在 Java Mail 中显示发件人名称而非邮箱地址

    我通过 Java Mail API 发送消息。邮件到达后,收件箱显示的是发件地址。我想用一些文本替代这个地址。这应该是可以的,因为我收到的 facebook 邮件在收件箱里显示 "Facebook - Message title",而不是 "mail…

    回复 2最近活动 java
  2. 从 TypeScript 访问 Dynamics CRM

    我的 CRM 代码在网页资源中运行,所以要获取实体数据,就得写成 这样来读取数据。 可惜用 typescript 编写时,这个表达式无法编译。现在我手动把 window.parent 加到 Xrm.Page 前面……(Xrm 类型定义已经装好了),这…

    回复 2最近活动 typescript
  3. 用 OpenCV C++ 快速将 Mat 的一块区域填成零?

    把灰度 Mat 图像中的一块区域填成零(或者其他常数值),最有效的方法是什么? 应该先创建全零图像,再调用 copyTo(),还是有更好的办法?

    回复 3最近活动 cpp