Golang笔记

Goji 使用session 的示例,可以引申全局的数据连接

Goji 使用session 的示例,可以引申全局的数据连接。

package main

import (
    "fmt"
    "log"
    "net/http"
    "os"

    "github.com/zenazn/goji"
    "github.com/zenazn/goji/web"
)

type Controller struct {
    session *Session
}

func NewController() (*Controller, error) {
    if uri := os.Getenv("MONGOHQ_URL"); uri == "" {
        return nil, fmt.Errorf("no DB connection string provided")
    }
    session, err := mgo.Dial(uri)
    if err != nil {
        return nil, err
    }
    return &Controller{
        session: session,
    }, nil
}

func (c *Controller) getUser(c web.C, w http.ResponseWriter, r *http.Request) {
    // Use the session var here
}

func main() {
    ctl, err := NewController()
    if err != nil {
        log.Fatal(err)
    }
    defer ctl.session.Close()

    goji.Get("/user", ctl.getUser)
    goji.Serve()
}
本文网址: https://golangnote.com/topic/63.html (转载注明出处)
关于GolangNote:记录在工作中使用golang 遇到、面临的相关问题及解决方法。如果你在这里获得一些知识或信息,解决你的编程问题,请考虑捐赠给不幸的人或者你喜欢的慈善机构,除捐赠外,种植树木、志愿服务或减少排碳的行为也很有益处。如果你有任何问题可以在下面 留言
Be the first to comment!
Captcha image
Relative Articles