Skip to content

A simple web application framework for the Go programming language

License

Notifications You must be signed in to change notification settings

driusan/GoWebapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoWebApp Build Status

GoWebApp is a simple framework for writing web applications in Go.

You simply need to implement the URLHandler interface and register a route to which that URLHandler responds. The simplest implementation is the NullApp in the examples directory which just uses the DefaultHandler to serve everything and respond with a 405 Method Not Allowed error.

func main() {
	handle := URLHandler.DefaultHandler{}

	URLHandler.RegisterHandler(handle, "/")
	http.ListenAndServe(":8080", nil)
}

That's not terribly useful, so the SimpleGetApp example extends that a little by implementing the Get method on a new type

// Implement a new type which inherits the DefaultHandler
// behaviour
type SimpleGetPage struct {
	URLHandler.DefaultHandler
}

// Override Get to return some text for the root page, and
// a 404 error for any other request
func (r SimpleGetPage) Get(req *http.Request, params map[string]interface{}) (string, error) {
	if req.URL.Path == "/" {
		return "I am a page", nil
	}
	return "Page not found", URLHandler.NotFoundError{}

}

A more complicated example is in the ListApp example in the examples folder, which implements a simple application that implements both Get and Post to store/retrieve a list from an SQLite database.

It demonstrates the usage of the params parameter to both pass arbitrary data to the Get/Post methods (both an SQL driver pointer, and a sample list title).

About

A simple web application framework for the Go programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published