diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2015-12-04 13:14:38 +0200 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2015-12-04 13:14:38 +0200 |
commit | 0cd9a866a7fadd31e0148f0ca2a95c0521718ead (patch) | |
tree | 0d18174eb74dce6e14cd1631aa3244a9be18245b /server_example_test.go | |
parent | Improved wording (diff) | |
download | fasthttp-0cd9a866a7fadd31e0148f0ca2a95c0521718ead.tar.gz fasthttp-0cd9a866a7fadd31e0148f0ca2a95c0521718ead.tar.bz2 fasthttp-0cd9a866a7fadd31e0148f0ca2a95c0521718ead.zip |
Added an example for RequestCtx.Logger
Diffstat (limited to 'server_example_test.go')
-rw-r--r-- | server_example_test.go | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/server_example_test.go b/server_example_test.go index 27a695e..bd51e9e 100644 --- a/server_example_test.go +++ b/server_example_test.go @@ -143,7 +143,7 @@ func ExampleRequestCtx_TimeoutError() { // Since the long-running task is still running and may access ctx, // we must call TimeoutError before returning from requestHandler. // - // Otherwise our program will suffer from data races. + // Otherwise the program will suffer from data races. ctx.TimeoutError("Timeout!") } } @@ -152,3 +152,24 @@ func ExampleRequestCtx_TimeoutError() { log.Fatalf("error in ListenAndServe: %s", err) } } + +func ExampleRequestCtx_Logger() { + requestHandler := func(ctx *RequestCtx) { + if string(ctx.Path()) == "/top-secret" { + ctx.Logger().Printf("Alarm! Alien intrusion detected!") + ctx.Error("Access denied!", StatusForbidden) + return + } + + // Logger may be cached in local variables. + logger := ctx.Logger() + + logger.Printf("Good request from User-Agent %q", ctx.Request.Header.UserAgent()) + fmt.Fprintf(ctx, "Good request to %q", ctx.Path()) + logger.Printf("Multiple log messages may be written during a single request") + } + + if err := ListenAndServe(":80", requestHandler); err != nil { + log.Fatalf("error in ListenAndServe: %s", err) + } +} |