當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Router.Post方法代碼示例

本文整理匯總了Golang中github.com/gorilla/pat.Router.Post方法的典型用法代碼示例。如果您正苦於以下問題:Golang Router.Post方法的具體用法?Golang Router.Post怎麽用?Golang Router.Post使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/gorilla/pat.Router的用法示例。


在下文中一共展示了Router.Post方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: ptyExec

func ptyExec(test *testing.T, mux *pat.Router) {
	mux.Post("/exec", func(res http.ResponseWriter, req *http.Request) {
		test.Log("got exec")
		conn, rw, err := res.(http.Hijacker).Hijack()
		if err != nil {
			res.WriteHeader(http.StatusInternalServerError)
			res.Write([]byte(err.Error()))
			return
		}
		defer conn.Close()
		script := req.FormValue("cmd")
		if script == "" {
			test.Log("missing script")
			test.FailNow()
		}
		test.Log("executing", script)
		cmd := exec.Command("/bin/bash", "-c", script)
		file, err := pty.Start(cmd)
		if err != nil {
			test.Log(err)
			test.FailNow()
		}
		test.Log("copying from pty")
		go io.Copy(file, rw)
		io.Copy(conn, file)
		test.Log("finished running")
	})
}
開發者ID:sfermigier,項目名稱:nanobox,代碼行數:28,代碼來源:exec_test.go

示例2: addClueRoutes

func addClueRoutes(router *pat.Router) {
	router.Get("/clue/{clue_id}/hint", serve(
		Authenticate(true),
		parseFromUrl(urlParams{
			"clue_id": parseParamToInt64,
			"lat":     parseParamToFloat64,
			"lng":     parseParamToFloat64,
		}),
		takeHint,
		toJson,
	))
	router.Get("/clue", serve(
		Authenticate(true),
		parseFromUrl(urlParams{"clue_id": parseParamToInt64}),
		currentClue,
		toJson,
	))
	router.Post("/clue/{clue_id}", serve(
		Authenticate(true),
		parseFromUrl(urlParams{
			"clue_id": parseParamToInt64,
		}),
		parseRequest(new(_SolveClueReq)),
		solveClue,
		toJson,
	))
	router.Put("/clue/{clue_id}", serve(
		dashboardAuth,
		parseRequest(new(record.Clue)),
		updateClue,
		toJson,
	))
}
開發者ID:pjherring,項目名稱:ggc,代碼行數:33,代碼來源:clue.go

示例3: normalExec

func normalExec(test *testing.T, mux *pat.Router) {
	mux.Post("/exec", func(res http.ResponseWriter, req *http.Request) {
		test.Log("got exec")
		conn, rw, err := res.(http.Hijacker).Hijack()
		if err != nil {
			res.WriteHeader(http.StatusInternalServerError)
			res.Write([]byte(err.Error()))
			return
		}
		defer conn.Close()
		script := req.FormValue("cmd")
		if script == "" {
			test.Log("missing script")
			test.FailNow()
		}
		test.Log("executing", script)
		cmd := exec.Command("/bin/bash", "-c", script)
		cmd.Stdin = rw
		cmd.Stderr = conn
		// cmd.Stdout = conn
		// cmd.Run()
		reader, err := cmd.StdoutPipe()
		cmd.Start()
		io.Copy(conn, reader)
		conn.(*net.TCPConn).CloseWrite()
		err = cmd.Wait()
		test.Log("finished running")
	})
}
開發者ID:sfermigier,項目名稱:nanobox,代碼行數:29,代碼來源:exec_test.go

示例4: userAddRoutes

func userAddRoutes(router *pat.Router) {
	router.Post("/user/waiver", serve(
		Authenticate(true),
		acceptWaiver,
		toJson,
	))
}
開發者ID:pjherring,項目名稱:ggc,代碼行數:7,代碼來源:user.go

示例5: teamAddRoutes

func teamAddRoutes(router *pat.Router) {
	router.Post("/team/{team_id}/finish", serve(
		dashboardAuth,
		parseFromUrl(urlParams{
			"team_id": parseParamToInt64,
		}),
		setTeamFinish,
		toJson,
	))
	router.Delete("/team/{team_id}/finish", serve(
		dashboardAuth,
		parseFromUrl(urlParams{
			"team_id": parseParamToInt64,
		}),
		setTeamFinish,
		toJson,
	))
	router.Post("/team/{phrase}", serve(
		parseFromUrl(urlParams{
			"phrase": parseParamToString,
		}),
		parseRequest(new(_TeamJoinReq)),
		validateJoinTeam,
		joinTeam,
		SetUserId,
		toJson,
	))
	router.Post("/team", serve(
		parseRequest(new(_TeamCreateReq)),
		createTeam,
		SetUserId,
		toJson,
	))
}
開發者ID:pjherring,項目名稱:ggc,代碼行數:34,代碼來源:team.go


注:本文中的github.com/gorilla/pat.Router.Post方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。