Невозможно установить cookie для фреймворка golang's fasthttp - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь установить cookie с сервера, используя среду fasthttp.Но значение 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 тоже.Но это не сработает.Что-то пропустил фрагмент?

1 Ответ

0 голосов
/ 27 ноября 2018
ctx.Response.Header.Cookie(&cook1)

Функция Cookie используется для просмотра значения cookie.Поэтому вместо Cookie используйте функцию SetCookie .Если вы используете сервер по протоколу http, удалите оператор cook1.SetSecure (true) .

...