No description, website, or topics provided.
Go Makefile HTML
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.
buildscripts ci: windows support better linting Jun 12, 2018
testdata renderer with legacy tests May 14, 2018
vendor improved panic handling Jun 27, 2018
.gitignore buildsystem Sep 7, 2016
.travis.yml cut out osx Jun 6, 2018
README.rst add additional documentation Jul 28, 2015
app.go make app run helper sensable Aug 14, 2018
app_merge.go make strict slash true the default Jul 5, 2018
app_merge_test.go add sealed merge function Jul 3, 2018
app_resolve.go make strict slash true the default Jul 5, 2018
app_resolve_test.go better prefixes Jul 3, 2018
app_routing.go fix dependency Jul 6, 2018
app_routing_test.go add empty route counstructor Jul 3, 2018
app_test.go make strict slash true the default Jul 5, 2018
auth_basic.go make simple auth thread safe Jun 27, 2018
auth_basic_test.go implement basic authenticator Jun 27, 2018
auth_interfaces.go remove isNile method from interface Jun 15, 2018
auth_mock_test.go complete auth coverage May 12, 2018
auth_user_basic.go implement basic authenticator Jun 27, 2018
auth_user_basic_test.go remove isNile method from interface Jun 15, 2018
counter.go move auth into core May 9, 2018
counter_test.go add request counters Feb 9, 2017
error.go make error handling consistent Jun 26, 2018
error_test.go make error handling consistent Jun 26, 2018
evergreen.yaml fix lint Jun 14, 2018
framework.go response improvement Jul 7, 2018
framework_pagination.go EVG-5169: avoid double slashes in pagination headers Aug 14, 2018
framework_pagination_test.go additional testing, particularly of output Aug 1, 2017
framework_response.go builders should always return lists Jul 15, 2018
framework_response_error.go more error responder constructors Jul 6, 2018
framework_response_simple.go framework responses Jun 27, 2018
framework_response_test.go builders should always return lists Jul 15, 2018
framework_test.go parsing should not return context Jul 6, 2018
glide.lock improved panic handling Jun 27, 2018
glide.yaml fix ci Jun 5, 2018
handling.go tests of converters Aug 2, 2017
handling_binary.go fix lint Jun 14, 2018
handling_html.go fix lint Jun 14, 2018
handling_json.go fix lint Jun 14, 2018
handling_test.go interfaces changes for clearer documentation and use May 10, 2018
handling_text.go fix lint Jun 14, 2018
handling_yaml.go fix lint Jun 14, 2018
makefile remove gotype linter Jun 14, 2018
methods.go EVG-3425 Use text/plain (RFC 1521) Jul 27, 2018
methods_test.go complete test coverage Jun 25, 2018
middleware.go allow annotations for logging Jun 12, 2018
middleware_auth.go remove isNile method from interface Jun 15, 2018
middleware_auth_test.go fix lint Jun 14, 2018
middleware_auth_user.go reduce logging verbosity Jun 27, 2018
middleware_auth_user_test.go fix lint Jun 14, 2018
middleware_grip.go MAKE-424: mark requests aborted when they encounter panics Jul 6, 2018
middleware_grip_test.go make recovery logger more flexible Jun 26, 2018
middleware_static.go new static middleware Jul 3, 2018
middleware_wrapper.go more wrappers Jul 4, 2018
middleware_wrapper_test.go more wrappers Jul 4, 2018
parsing.go handle framework errors Jun 27, 2018
parsing_test.go handle framework errors Jun 27, 2018
render.go don't return errors when writing to response bodies May 14, 2018
render_html.go fix lint Jun 14, 2018
render_test.go fix lint Jun 14, 2018
render_text.go fix lint Jun 14, 2018

README.rst

''gimlet -- HTTP/JSON API Toolkit

gimlet is a simple collection of tools for creating simple versioned JSON/HTTP APIs. It builds on standard library tools and components of gorilla (mux) and negroni.

The goal:

  • Allow developers to implement HTTP/JSON APIs by writing http.HandlerFunc methods and passing encoding/json marshallable types to simple response-writing methods.
  • Make it easy to define a set of routes with a version prefix, and manage the version prefix at the routing layer rather than in handlers.
  • Reuse common components as necessary, and avoid recreating existing tools or making a large inflexible tool.

In short I was writing a JSON/HTTP API, and wanted the above properties and found that I had written a little library that didn't really have anything to do with the app I was writing so I'm spinning it out both because I want to use this in my next project and I hope you may find it useful.

You can read an introductory blog post, if you like.