Awesome Go

goroute

CategoryWeb Frameworks
SubcategoryRouters
Stars0

Simple yet powerful HTTP request multiplexer

About goroute

Build Status codecov GoDoc Go Report Card

Few main features

  • Minimal core.
  • No external runtime dependencies. Custom middlewares which requires 3th party dependecies are places in separates repositories under goroute org.
  • HTTP Routing.
  • Middlewares support.
  • Global error handling.

Getting Started

Prerequisites

You need to have at least go 1.11 installed on you local machine.

Installing

Install go route package with go get

go get -u github.com/goroute/route

Start your first server. Create main.go file and add:

package main

import (
    "net/http"
    "log"
    "github.com/goroute/route"
)

type helloResponse struct {
	Title string `json:"title"`
}

func main() {
	mux := route.NewServeMux()
	
	mux.Use(func(c route.Context, next route.HandlerFunc) error {
	    log.Println("Hello, Middleware!")
	    return next(c)
	})
	
	mux.GET("/", func(c route.Context) error {
	    return c.JSON(http.StatusOK, &helloResponse{Title:"Hello, JSON!"})
	})
	
	log.Fatal(http.ListenAndServe(":9000", mux))
}

Run it

go run main.go

More examples

See examples

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • This project is largely inspired by echo. Parts of the code are adopted from echo. See NOTICE.

Frequently Asked Questions

What is goroute?

goroute is a Web Frameworks library for the Go programming language. Simple yet powerful HTTP request multiplexer

How do I install goroute?

Install goroute with the Go module system using `go get goroute/route`. Check the repository for the current installation instructions.

What category does goroute belong to?

goroute is listed under Web Frameworks, specifically Routers.

← Back to Routers