Common helpers for Go services
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
changes Ensure RUnlock() called directly after read to prevent deadlock withi… May 16, 2017
config
ctx
db/dbtest
dbtypes
fail
lifecycle
log
lynx
metrics
middleware
render
sideload
vc
.gitignore
LICENSE
README.md

README.md

Go API Framework

Status: This is used in production for several apis and as such is considered stable, but open to api changes without warning.

API Toolkit.

Ethos

Composable. Pick and choose what you want to use, nothing is absolute. You're just writing Go. HTTP handlers everywhere. No unknown magic.

Packages

  • changes Generate diffs between type instances for audit logs, and update management.

  • ctx Tightly coupled, lockable contexts used in most packages.

  • fail Return intelligent, api friendly, and log friendly errors.

  • lifecycle Manage the lifecycle of your application, e.g. shutdown callbacks.

  • log Sane defaults for logging via Logrus.

  • sideload Automatically load related entities

  • lynx Encrypt and decrypt your data as required.

  • vc Handle request and response lifecycle, including encryption, sideloading and rendering.

TODO

  • Sideloading of related entities
  • Types for actors, users and parameters
  • View Helpers for rendering responses and errors