ch11.1
This commit is contained in:
@@ -117,3 +117,23 @@ func (app *application) snippetCreatePost(w http.ResponseWriter, r *http.Request
|
||||
|
||||
http.Redirect(w, r, fmt.Sprintf("/snippet/view/%d", id), http.StatusSeeOther)
|
||||
}
|
||||
|
||||
func (app *application) userSignupPost(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintln(w, "Create a new user...")
|
||||
}
|
||||
|
||||
func (app *application) userLoginPost(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintln(w, "Login the user...")
|
||||
}
|
||||
|
||||
func (app *application) userLogoutPost(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintln(w, "Logout the user...")
|
||||
}
|
||||
|
||||
func (app *application) userSignup(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintln(w, "Display a HTML for signing up a new user...")
|
||||
}
|
||||
|
||||
func (app *application) userLogin(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprintln(w, "Display a HTML for log in a user...")
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"database/sql"
|
||||
"flag"
|
||||
"html/template"
|
||||
@@ -67,10 +68,18 @@ func main() {
|
||||
sessionManager: sessionManager,
|
||||
}
|
||||
|
||||
tlsConfig := &tls.Config{
|
||||
CurvePreferences: []tls.CurveID{tls.X25519, tls.CurveP256}, // TODO: read about CurvePreferences
|
||||
}
|
||||
|
||||
srv := &http.Server{
|
||||
Addr: cfg.addr,
|
||||
ErrorLog: errorLog,
|
||||
Handler: app.routes(),
|
||||
Addr: cfg.addr,
|
||||
ErrorLog: errorLog,
|
||||
Handler: app.routes(),
|
||||
TLSConfig: tlsConfig,
|
||||
IdleTimeout: time.Minute,
|
||||
ReadTimeout: 5 * time.Second,
|
||||
WriteTimeout: 10 * time.Second,
|
||||
}
|
||||
|
||||
infoLog.Printf("Starting server on %s", cfg.addr)
|
||||
|
||||
@@ -24,6 +24,12 @@ func (app *application) routes() http.Handler {
|
||||
router.Handler(http.MethodGet, "/snippet/create", dynamic.ThenFunc(app.snippetCreate))
|
||||
router.Handler(http.MethodPost, "/snippet/create", dynamic.ThenFunc(app.snippetCreatePost))
|
||||
|
||||
router.Handler(http.MethodGet, "/user/signup", dynamic.ThenFunc(app.userSignup))
|
||||
router.Handler(http.MethodPost, "/user/signup", dynamic.ThenFunc(app.userSignupPost))
|
||||
router.Handler(http.MethodGet, "/user/login", dynamic.ThenFunc(app.userLogin))
|
||||
router.Handler(http.MethodPost, "/user/login", dynamic.ThenFunc(app.userLoginPost))
|
||||
router.Handler(http.MethodPost, "/user/logout", dynamic.ThenFunc(app.userLogoutPost))
|
||||
|
||||
standard := alice.New(app.recoverPanic, app.logRequest, secureHeaders)
|
||||
return standard.Then(router)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
{{define "nav"}}
|
||||
<nav>
|
||||
<a href='/'>Home</a>
|
||||
<a href='/snippet/create'>Create snippet</a>
|
||||
<div>
|
||||
<a href='/'>Home</a>
|
||||
<a href='/snippet/create'>Create snippet</a>
|
||||
</div>
|
||||
<div>
|
||||
<a href='/user/signup'>Signup</a>
|
||||
<a href='/user/login'>Login</a>
|
||||
<form action='/user/logout' method='POST'>
|
||||
<button>Logout</button>
|
||||
</form>
|
||||
</div>
|
||||
</nav>
|
||||
{{end}}
|
||||
Reference in New Issue
Block a user