This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func TestRouter(t *testing.T) { | |
used := "" | |
mw1 := func(next http.Handler) http.Handler { | |
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { | |
used += "1" | |
next.ServeHTTP(w, r) | |
}) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func TestChain(t *testing.T) { | |
used := "" | |
mw1 := func(next http.Handler) http.Handler { | |
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { | |
used += "1" | |
next.ServeHTTP(w, r) | |
}) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mux := http.NewServeMux() | |
mux.Handle("/", recoverMiddleware(requestIDMiddleware(loggingMiddleware(http.HandlerFunc(homeHandler))))) | |
mux.Handle("/about", recoverMiddleware(requestIDMiddleware(loggingMiddleware(http.HandlerFunc(aboutHandler))))) | |
mux.Handle("/admin", recoverMiddleware(requestIDMiddleware(loggingMiddleware(authenticationMiddleware(adminRoleCheckMiddleware(http.HandlerFunc(adminDashboardHandler))))))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func (app *application) rateLimit(next http.Handler) http.Handler { | |
if !app.config.limiter.enabled { | |
return next | |
} | |
type client struct { | |
limiter *rate.Limiter | |
lastSeen time.Time | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
. | |
├── cmd | |
│ ├── cli | |
│ └── web | |
├── internal | |
│ ├── database | |
│ ├── request | |
│ ├── response | |
│ ├── templatefuncs | |
│ ├── validator |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package cache | |
import ( | |
"sync" | |
"time" | |
) | |
// Cache is a basic in-memory key-value cache implementation. | |
type Cache[K comparable, V any] struct { | |
items map[K]V // The map storing key-value pairs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Check if the version argument is provided | |
if [ $# -ne 1 ]; then | |
echo "Usage: $0 <go_version>" | |
exit 1 | |
fi | |
# Version number provided as an argument | |
version="$1" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Check if the version argument is provided | |
if [ $# -ne 1 ]; then | |
echo "Usage: $0 <go_version>" | |
exit 1 | |
fi | |
# Version number provided as an argument | |
version="$1" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## db/connect: create to the local database | |
.PHONY: db/connect | |
db/connect: | |
sqlite3 db.sqlite | |
## db/migrations/new name=$1: create a new migration | |
.PHONY: db/migrations/new | |
db/migrations/new: | |
go run -tags 'sqlite3' github.com/golang-migrate/migrate/v4/cmd/migrate@latest create -seq -ext=.sql -dir=./resources/migrations ${name} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Change these variables as necessary. | |
main_package_path = ./cmd/example | |
binary_name = example | |
# ==================================================================================== # | |
# HELPERS | |
# ==================================================================================== # | |
## help: print this help message | |
.PHONY: help |
NewerOlder