A web blog and personal homepage engine written in Go.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
898 B

package gophertype
import (
// Site is the master struct for the Gophertype server.
type Site struct {
n *negroni.Negroni
mux *mux.Router
// NewSite initializes the Site.
func NewSite() *Site {
site := &Site{}
n := negroni.New()
site.n = n
return site
// UseDB specifies the database to use.
func (s *Site) UseDB(driver string, path string) error {
db, err := gorm.Open(driver, path)
if err != nil {
return err
log.Printf("Using database driver '%s'", driver)
return nil
// ListenAndServe starts the HTTP service.
func (s *Site) ListenAndServe(addr string) error {
log.Printf("Listening on %s", addr)
return http.ListenAndServe(addr, s.n)