gentom / goemon

Goemon/五ヱ門 ʕ◔ϖ◔ʔ - Micro framework for building APIs. [WIP]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Goemon

Goemon is a micro framework which is zero-dependencies for building APIs.
Goemon is still in development.

Usage

package main

import (
	"fmt"
	"net/http"
	"net/url"

	"github.com/gentom/goemon"
)

func main() {
	api := goemon.New()
	api.GET("/", root)
	api.GET("/hello", hello)
	api.GET("/langs/:lang", programmingLangs)
	api.GET("/langs/:lang/framework", framework)
	api.Start(5000)
}

func root(w http.ResponseWriter, r *http.Request, params url.Values) {
	fmt.Fprint(w, "root\n")
}

func hello(w http.ResponseWriter, r *http.Request, params url.Values) {
	fmt.Fprint(w, "hello world!\n")
}

func programmingLangs(w http.ResponseWriter, r *http.Request, params url.Values) {
	fmt.Fprintf(w, "%s is awesome!", params["lang"])
}

func framework(w http.ResponseWriter, r *http.Request, params url.Values) {
	fmt.Fprintf(w, "This is %s's framework", params["lang"])
}

If you run the code above and curl the endpoint:

$ curl http://localhost:5000/
root

$ curl http://localhost:5000/hello
hello world!

$ curl http://localhost:5000/langs/nim
[nim] is awesome!

$ curl http://localhost:5000/langs/golang/framework
This is [golang]'s framework

About

Goemon/五ヱ門 ʕ◔ϖ◔ʔ - Micro framework for building APIs. [WIP]

License:MIT License


Languages

Language:Go 100.0%