コード例 #1
0
ファイル: response551_test.go プロジェクト: go51/response551
func TestError(t *testing.T) {
	ret403 := response551.Error(403, "アクセスするには会員登録をおこないログインする必要があります。")
	ret404 := response551.Error(404, "指定されたカテゴリーは存在しません。")

	if ret403.Code() != 403 {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}
	if ret403.Text() != http.StatusText(403) {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}
	if ret403.Message() != "アクセスするには会員登録をおこないログインする必要があります。" {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}
	if ret403.String() != "アクセスするには会員登録をおこないログインする必要があります。" {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}

	if ret404.Code() != 404 {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}
	if ret404.Text() != http.StatusText(404) {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}
	if ret404.Message() != "指定されたカテゴリーは存在しません。" {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}
	if ret404.String() != "指定されたカテゴリーは存在しません。" {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}

	if fmt.Sprint(ret404) != "指定されたカテゴリーは存在しません。" {
		t.Error("エラーレスポンス構造体の生成に失敗しました。")
	}
}
コード例 #2
0
ファイル: gorai.go プロジェクト: go51/gorai
func rootFunc(w http.ResponseWriter, r *http.Request) {

	g := Load()

	l := log551.New(&g.config.Framework.SystemLog)
	l.Open()
	defer l.Close()

	cookie := cookie551.New(w, r)

	sid := g.sid(cookie)
	l.Debugf("%s SID: %s", sid[:10], sid)
	session := memcache551.New(&g.config.Framework.Session.Server, sid)

	route := g.router.FindRouteByPathMatch(r.Method, r.URL.Path)
	response551.UrlFunction = g.router.Url

	var data interface{} = nil
	if route != nil {
		mysql := mysql551.New(&g.config.Framework.Database)
		mysql.Open()
		defer mysql.Close()

		l.Debugf("%s --[ Routing ]--", sid[:10])
		l.Debugf("%s Path: %s", sid[:10], r.URL.Path)
		l.Debugf("%s Neme: %s", sid[:10], route.Name())

		c := container551.New()
		c.SetSID(sid)
		c.SetResponseWriter(w)
		c.SetRequest(r)
		c.SetLogger(l)
		c.SetCookie(cookie)
		c.SetDb(mysql)
		c.SetSession(session)
		c.SetModel(g.modelManager)
		c.SetAuth(g.auth)
		c.SetUrlFunc(g.router.Url)

		baseUrl := "https://" + g.config.Framework.WebServerSSL.Host
		if g.config.Framework.WebServerSSL.Port != "443" {
			baseUrl = baseUrl + ":" + g.config.Framework.WebServerSSL.Port
		}
		c.SetBaseURL(baseUrl)
		response551.BaseUrl = baseUrl

		action := route.Action()
		data = action(c)
		response551.Response(w, r, data, route.PackageName(), route.Name(), c.User(), g.config.Application)
	} else {
		l.Errorf("%s --[ Route not found ]--", sid[:10])
		l.Errorf("%s UA:     %s", sid[:10], r.UserAgent())
		l.Errorf("%s Method: %s", sid[:10], r.Method)
		l.Errorf("%s Path:   %s", sid[:10], r.URL.Path)
		l.Errorf("%s --[/Route not found ]--", sid[:10])
		data = response551.Error(404, "Route not found.")
		response551.Response(w, r, data, "", "", nil, g.config.Application)
	}

}
コード例 #3
0
ファイル: goraip_test.go プロジェクト: go51/gorai
func errAction(c *container551.Container) interface{} {
	return response551.Error(501, http.StatusText(501))
}