本文整理汇总了Golang中github.com/julienschmidt/httprouter.Router类的典型用法代码示例。如果您正苦于以下问题:Golang Router类的具体用法?Golang Router怎么用?Golang Router使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Router类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: AddRoutes
func AddRoutes(router *httprouter.Router) {
mylog.Debugf("enter notice.AddRoutes(%+v)", router)
defer func() { mylog.Debugf("exit action.Handler(%+v)", router) }()
controller := &controller{&actionList}
router.POST("/action", controller.Post)
}
开发者ID:robertocs,项目名称:cepiot,代码行数:7,代码来源:action_controller.go
示例2: Register
func (e profileEndpoint) Register(mux *httprouter.Router) {
mux.GET("/profile/:userId/displayname", jsonHandler(e.getDisplayName))
mux.PUT("/profile/:userId/displayname", jsonHandler(e.setDisplayName))
mux.GET("/profile/:userId/avatar_url", jsonHandler(e.getAvatarUrl))
mux.PUT("/profile/:userId/avatar_url", jsonHandler(e.setAvatarUrl))
mux.GET("/profile/:userId", jsonHandler(e.getProfile))
}
开发者ID:rezacute,项目名称:bullettime,代码行数:7,代码来源:profile.go
示例3: myRouterConfig
func myRouterConfig(router *httprouter.Router) {
router.GET("/pepe", func(w http.ResponseWriter, req *http.Request, p httprouter.Params) {
fmt.Fprintln(w, "pepe")
})
router.GET("/", homeHandler)
}
开发者ID:nicolasgaraza,项目名称:EnrollmentGO-Beta,代码行数:8,代码来源:router.go
示例4: httpRoutes
func (c *ChatService) httpRoutes(prefix string, router *httprouter.Router) http.Handler {
router.POST(prefix+"/push", c.onPushPost)
router.POST(prefix+"/register", c.onPushSubscribe)
router.GET(prefix+"/channel/:id/message", c.onGetChatHistory)
router.GET(prefix+"/channel/:id/message/:msg_id", c.onGetChatMessage)
router.GET(prefix+"/channel", c.onGetChannels)
return router
}
开发者ID:CHH-Darick,项目名称:raspchat,代码行数:9,代码来源:chat_service.go
示例5: Register
func Register(router *httprouter.Router) {
router.GET("/storage/files", func(w http.ResponseWriter, req *http.Request, params httprouter.Params) {
encodedToken := req.Header.Get("X-Auth-Token")
// authMacaroon, err := macaroon.New(auth.Key, auth.ServiceID, auth.Location)
// if err != nil {
// log.Print(err)
// w.WriteHeader(500)
// w.Write([]byte("Oops, something went wrong..."))
// return
// }
token, err := base64.URLEncoding.DecodeString(encodedToken)
if err != nil {
log.Print(err)
w.WriteHeader(500)
w.Write([]byte("Oops, something went wrong..."))
return
}
userMacaroon := &macaroon.Macaroon{}
if err := userMacaroon.UnmarshalBinary(token); err != nil {
log.Print(err)
w.WriteHeader(500)
w.Write([]byte("Oops, something went wrong..."))
return
}
log.Printf("#### Macaroon caveats: %+v\n", userMacaroon.Caveats())
log.Printf("#### Macaroon signature: %+v\n", userMacaroon.Signature())
log.Printf("#### Macaroon id: %+v\n", userMacaroon.Id())
log.Printf("#### Macaroon location: %+v\n", userMacaroon.Location())
if err := userMacaroon.Verify(auth.Key, noCaveatsChecker, nil); err != nil {
log.Print(err)
w.WriteHeader(401)
w.Write([]byte(err.Error()))
return
}
response := struct {
Files []string `json:"files"`
}{
Files: []string{
"http://localhost:6061/storage/files/1",
"http://localhost:6061/storage/files/2",
"http://localhost:6061/storage/files/3",
},
}
if err := json.NewEncoder(w).Encode(response); err != nil {
log.Print(err)
w.WriteHeader(500)
w.Write([]byte(err.Error()))
}
})
}
开发者ID:drborges,项目名称:macaroons-spike,代码行数:56,代码来源:api.go
示例6: Init
func Init(router *httprouter.Router) {
router.NotFound = http.FileServer(http.Dir(devsatic)).ServeHTTP
env := os.Getenv("production")
if env != "" {
router.NotFound = http.FileServer(http.Dir(diststatic)).ServeHTTP
}
}
开发者ID:manjeshpv,项目名称:qgotify,代码行数:10,代码来源:static.go
示例7: source
func source(r *htr.Router) error {
r.GET("/source",
func(w http.ResponseWriter, r *http.Request, ps htr.Params) {
if _, err := io.WriteString(w, sourceDoc); err != nil {
log.Printf("failed to write response: %s", err.Error())
}
},
)
return nil
}
开发者ID:patosullivan,项目名称:mf-proto,代码行数:11,代码来源:route.go
示例8: configure
// configure registers the API's routes on a router. If the passed router is nil, we create a new one and return it.
// The nil mode is used when an API is run in stand-alone mode.
func (a *API) configure(router *httprouter.Router) *httprouter.Router {
if router == nil {
router = httprouter.New()
}
for i, route := range a.Routes {
if err := route.parseInfo(route.Path); err != nil {
logging.Error("Error parsing info for %s: %s", route.Path, err)
}
a.Routes[i] = route
h := a.handler(route)
pth := a.FullPath(route.Path)
if route.Methods&GET == GET {
logging.Info("Registering GET handler %v to path %s", h, pth)
router.Handle("GET", pth, h)
}
if route.Methods&POST == POST {
logging.Info("Registering POST handler %v to path %s", h, pth)
router.Handle("POST", pth, h)
}
}
chain := buildChain(a.SwaggerMiddleware...)
if chain == nil {
chain = buildChain(a.swaggerHandler())
} else {
chain.append(a.swaggerHandler())
}
// Server the API documentation swagger
router.GET(a.FullPath("/swagger"), a.middlewareHandler(chain, nil, nil))
chain = buildChain(a.TestMiddleware...)
if chain == nil {
chain = buildChain(a.testHandler())
} else {
chain.append(a.testHandler())
}
router.GET(path.Join("/test", a.root(), ":category"), a.middlewareHandler(chain, nil, nil))
// Redirect /$api/$version/console => /console?url=/$api/$version/swagger
uiPath := fmt.Sprintf("/console?url=%s", url.QueryEscape(a.FullPath("/swagger")))
router.Handler("GET", a.FullPath("/console"), http.RedirectHandler(uiPath, 301))
return router
}
开发者ID:sguzwf,项目名称:vertex,代码行数:56,代码来源:api.go
示例9: request
func request(r *httprouter.Router, method, path string, data []byte) (int,
string) {
req, err := http.NewRequest(method, path, bytes.NewBuffer(data))
if err != nil {
return 0, "err completing request: " + err.Error()
}
w := httptest.NewRecorder()
r.ServeHTTP(w, req)
return w.Code, string(w.Body.Bytes())
}
开发者ID:itsabot,项目名称:abot,代码行数:11,代码来源:test.go
示例10: AddRoutes
// Add routes to http router
// TODO: Add route description parameters and useage
func AddRoutes(router *httprouter.Router) {
router.GET("/actions", Actions)
router.GET("/actions/:ActionId", ActionById)
router.POST("/set/:SetId", PostAction)
router.GET("/actions/:ActionId/occrurrences", Occurrences)
router.GET("/occurrences/:OccurrenceId", OccurrenceById)
// TODO:
// router.POST("/actions/:ActionId", postOccurrence)
// router.GET("/sets", sets)
// router.GET("/sets/:SetId/actions", actionsFromSet)
}
开发者ID:zaquestion,项目名称:ambition,代码行数:14,代码来源:routes.go
示例11: setMySQLHandlers
func setMySQLHandlers(r *httprouter.Router) {
r.GET("/MySQL", MySQL) // Read
// GET Handlers
r.GET("/Create", Create)
r.GET("/Update/:ID", Update)
r.GET("/Delete/:ID", Delete)
//Post Handlers
r.POST("/Create", CreateP)
r.POST("/Update/:ID", UpdateP)
}
开发者ID:falmar,项目名称:ego,代码行数:12,代码来源:mysql.go
示例12: Register
func (c *streamController) Register(router *httprouter.Router) {
router.PUT("/streams", basicAuth(timeRequest(c.handle(c.addToStream), addToStreamTimer), c.authConfig))
router.DELETE("/streams", basicAuth(timeRequest(c.handle(c.removeFromStream), removeFromStreamTimer), c.authConfig))
router.POST("/streams/coalesce", basicAuth(timeRequest(c.handle(c.coalesceStreams), coalesceTimer), c.authConfig))
router.GET("/stream/:id", basicAuth(timeRequest(c.handle(c.getStream), getStreamTimer), c.authConfig))
log.Debug("Routes Registered")
}
开发者ID:ello,项目名称:streams,代码行数:8,代码来源:stream_controller.go
示例13: SetupRoutes
// SetupRoutes maps routes to the PubSub's handlers
func (ps *PubSub) SetupRoutes(router *httprouter.Router) *httprouter.Router {
router.POST("/:topic_name", ps.PublishMessage)
router.POST("/:topic_name/:subscriber_name", ps.Subscribe)
router.DELETE("/:topic_name/:subscriber_name", ps.Unsubscribe)
router.GET("/:topic_name/:subscriber_name", ps.GetMessages)
return router
}
开发者ID:pengux,项目名称:pub-sub,代码行数:9,代码来源:pubsub.go
示例14: APIv1
func (api *API) APIv1(r *httprouter.Router) {
r.POST("/api/v1/query/:query_lang", LogRequest(api.ServeV1Query))
r.POST("/api/v1/shape/:query_lang", LogRequest(api.ServeV1Shape))
r.POST("/api/v1/write", LogRequest(api.ServeV1Write))
r.POST("/api/v1/write/file/nquad", LogRequest(api.ServeV1WriteNQuad))
//TODO(barakmich): /write/text/nquad, which reads from request.body instead of HTML5 file form?
r.POST("/api/v1/delete", LogRequest(api.ServeV1Delete))
}
开发者ID:SunSparc,项目名称:cayley,代码行数:8,代码来源:http.go
示例15: addUsersHandlers
// addUsersHandlers add Users handler to router
func addUsersHandlers(router *httprouter.Router) {
// add user
router.POST("/users/:user", wrapHandler(usersAdd))
// get all users
router.GET("/users", wrapHandler(usersGetAll))
// get one user
router.GET("/users/:user", wrapHandler(usersGetOne))
// del an user
router.DELETE("/users/:user", wrapHandler(usersDel))
// change user password
router.PUT("/users/:user", wrapHandler(usersUpdate))
}
开发者ID:teefax,项目名称:tmail,代码行数:17,代码来源:handlers_users.go
示例16: Register
func Register(router *httprouter.Router) {
r := render.New()
router.POST("/deployments", func(w http.ResponseWriter, req *http.Request, params httprouter.Params) {
deployment := DeploymentFrom(req)
macaroon := CreateDeploymentMacaroon(deployment)
RequestApproval(appengine.NewContext(req), deployment, macaroon)
db := appx.NewDatastore(appengine.NewContext(req))
if err := db.Save(deployment); err != nil {
log.Panic(err)
}
b, _ := macaroon.MarshalBinary()
token := base64.URLEncoding.EncodeToString(b)
r.JSON(w, 200, JSON{
"token": token,
})
})
router.POST("/validate", func(w http.ResponseWriter, req *http.Request, params httprouter.Params) {
form := &MacaroonForm{}
json.NewDecoder(req.Body).Decode(form)
bytes, err := base64.URLEncoding.DecodeString(form.Token)
if err != nil {
r.JSON(w, 400, JSON{
"message": "Error deserializing macaroon.",
"error": err.Error(),
})
return
}
err = VerifyMacaroon(bytes)
if err != nil {
r.JSON(w, 400, JSON{
"message": "Macaroon invalid.",
"error": err.Error(),
})
return
}
r.JSON(w, 200, JSON{
"message": "Macaroon valid.",
})
})
}
开发者ID:BearchInc,项目名称:macaroon-spike-api,代码行数:47,代码来源:routes.go
示例17: AddRoutes
func AddRoutes(router *httprouter.Router) {
mylog.Debugf("enter rule.AddRoutes(%+v)", router)
defer func() { mylog.Debugf("exit rule.AddRoutes(%+v)", router) }()
controller := &controller{}
router.GET("/rules", controller.GetAll)
router.GET("/rules/:name", controller.Get)
router.POST("/rules", controller.Post)
router.DELETE("/rules/:name", controller.Del)
}
开发者ID:robertocs,项目名称:cepiot,代码行数:10,代码来源:rule_controller.go
示例18: addQueueHandlers
// addQueueHandlers add Queue handlers to router
func addQueueHandlers(router *httprouter.Router) {
// get all message in queue
router.GET("/queue", wrapHandler(queueGetMessages))
// get a message by id
router.GET("/queue/:id", wrapHandler(queueGetMessage))
// discard a message
router.DELETE("/queue/discard/:id", wrapHandler(queueDiscardMessage))
// bounce a message
router.DELETE("/queue/bounce/:id", wrapHandler(queueBounceMessage))
}
开发者ID:teefax,项目名称:tmail,代码行数:11,代码来源:handlers_queue.go
示例19: Register
func (e authEndpoint) Register(mux *httprouter.Router) {
mux.GET("/register", jsonHandler(func() interface{} {
return &defaultRegisterFlows
}))
mux.GET("/login", jsonHandler(func() interface{} {
return &defaultLoginFlows
}))
mux.POST("/register", jsonHandler(e.postRegister))
mux.POST("/login", jsonHandler(e.postLogin))
}
开发者ID:rezacute,项目名称:bullettime,代码行数:10,代码来源:auth.go
示例20: initCMDGroup
// initCMDGroup establishes routes for automatically reloading the page on any
// assets/ change when a watcher is running (see cmd/*watcher.sh).
func initCMDGroup(router *httprouter.Router) {
cmdch := make(chan string, 10)
addconnch := make(chan *cmdConn, 10)
delconnch := make(chan *cmdConn, 10)
go cmder(cmdch, addconnch, delconnch)
router.GET("/_/cmd/ws/*cmd", func(w http.ResponseWriter,
r *http.Request, ps httprouter.Params) {
cmdch <- ps.ByName("cmd")[1:]
w.WriteHeader(http.StatusOK)
})
router.Handler("GET", "/_/cmd/ws", w.Handler(func(wsc *w.Conn) {
respch := make(chan bool)
conn := &cmdConn{ws: wsc, respch: respch}
addconnch <- conn
<-respch
delconnch <- conn
}))
}
开发者ID:itsabot,项目名称:abot,代码行数:22,代码来源:handlers.go
注:本文中的github.com/julienschmidt/httprouter.Router类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论