fasthttp - 无法为 golang 的 fasthttp 框架设置 cookie
问题描述
我尝试使用 fasthttp 框架从服务器设置 cookie。但是响应标头中的 cookie 值设置不正确。我不知道我在下面的片段中错过了什么。
package main
import (
"log"
"github.com/valyala/fasthttp"
)
func main() {
if err := fasthttp.ListenAndServe(":8080", requestHandler); err != nil {
log.Fatalf("Error in ListenAndServe: %s", err)
}
}
func requestHandler(ctx *fasthttp.RequestCtx) {
switch string(ctx.Path()) {
case "/foo":
cook1 := fasthttp.Cookie{}
cook1.SetKey("cookie_key")
cook1.SetValue("cookie val")
cook1.SetMaxAge(3600000)
cook1.SetDomain("prabhakaran.com")
cook1.SetPath(("/"))
cook1.SetSecure(true)
ctx.Response.Header.Cookie(&cook1)
ctx.SetBody([]byte("this is completely new body contents"))
case "/bar":
//todo: Bar handler
// ctx.SetBody([]byte("111111111111111111111"))
default:
ctx.Error("Unsupported path", fasthttp.StatusNotFound)
}
}
我也尝试了 ctx.Response.Header.SetCookie(&cook1) API。但它不会起作用。有什么遗漏的片段吗?
解决方案
ctx.Response.Header.Cookie(&cook1)
Cookie 函数用于查看 cookie 值。因此,使用SetCookie函数代替 Cookie。如果您在 http 协议中运行服务器,请删除cook1.SetSecure(true)语句。
推荐阅读
- python - 在 QFileDialog pyqt5 中选择文件或文件夹
- c# - 命令未在当前项目上触发
- matplotlib - 在 Jupyter 笔记本中关闭 Specgram 自动绘图
- swift - 使用 pagecontroller 折叠大标题
- angular - 打开 Angular Material 对话框会使父显示褪色?
- matrix - Octave - 比较不相等的矩阵并找到相等的元素
- c# - DocuSign API:填充动态字段
- python - 在 C# 控制台应用程序中运行 Python EXE(在 PyInstaller 中创建)
- reactjs - ReactJS进度条使用状态动态更新?
- java - 显示表单@postMapping EL1007E:在 null 上找不到属性或字段“名称”