Golang http: несколько ответов. CallEHeader вызывает

Поэтому в настоящее время я пишу логин и, соответственно, функции регистрации для моего веб-приложения Go, и я пытаюсь реализовать функцию, которая, если вы не заполните оба обязательных поля формы «имя пользователя» «пароль», даст вамhttp.Error а потом я пытаюсь сделать этоhttp.Redirect все же я получаю эту ошибку, когда происходит перенаправление.http: multiple response.WriteHeader calls Вот мой код ..

//Check form submission
var u user
if req.Method == http.MethodPost {
    un := req.FormValue("username")
    p := req.FormValue("password")


    //Checking to see if user filled out required fields.
    if un == ""{
        http.Error(w, "Please fill out required fields, you will be redirected shortly.", http.StatusForbidden)
        time.Sleep(3000 * time.Millisecond)
        //http.Redirect(w, req, "/" http.StatusSeeOther)
        return

    }else if p == "" {
        http.Error(w, "Please fill out required fields, you will be redirected shortly.", http.StatusForbidden)
        time.Sleep(3000 * time.Millisecond)
        //http.Redirect(w, req, "/", http.StatusSeeOther)
        return
    }

    c.Value = un
    u = user{un, p}

    dbUsers[c.Value] = u
    http.Redirect(w, req, "/login", http.StatusSeeOther)

    log.Println(dbUsers)
    return
}

Я знаю, что это из-за множественных http-вызовов в операторе if / else, но я не могу придумать альтернативу. Любая помощь будет принята с благодарностью!

Ответы на вопрос(1)

Ваш ответ на вопрос