HTTPS SSH

Sherpa

Sherpa is a Go library for creating a sherpa API.

This library makes it trivial to export Go functions as a sherap API with an http.Handler.

Your API will automatically be documented: cmd/sherpadoc reads your Go source, and exports function and type comments as API documentation.

See the documentation.

Examples

A public sherpa API: https://www.sherpadoc.org/#https://www.sherpadoc.org/example/

That web application is sherpaweb. It shows documentation for any sherpa API but also includes an API called Example for demo purposes.

Ding is a more elaborate web application built with this library.

About

Written by Mechiel Lukkien, mechiel@ueber.net.
Bug fixes, patches, comments are welcome.
MIT-licensed, see LICENSE.
cmd/sherpadoc/gopath.go originates from the Go project, see LICENSE-go for its BSD-style license.

todo

  • finish the type information. perhaps add more specific types (int64, int32, and unsigned variants, instead of just "int").
  • better error messages in sherpadoc
  • handler: write tests
  • sherpadoc: write tests
  • client: write tests
  • sherpadoc: find out which go constructs people want to use that aren't yet implemented by sherpadoc

  • when reading types from other packages (imported packages), we only look at GOPATH. vendor and modules are not taking into account, but we should.