Skip to content
/ goemon Public

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

License

Notifications You must be signed in to change notification settings

gentom/goemon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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]

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages