本文整理汇总了Golang中github.com/codegangsta/martini.NewRouter函数的典型用法代码示例。如果您正苦于以下问题:Golang NewRouter函数的具体用法?Golang NewRouter怎么用?Golang NewRouter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewRouter函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: startGUI
func startGUI(addr string, m *model.Model) {
router := martini.NewRouter()
router.Get("/", getRoot)
router.Get("/rest/version", restGetVersion)
router.Get("/rest/model", restGetModel)
router.Get("/rest/connections", restGetConnections)
router.Get("/rest/config", restGetConfig)
router.Get("/rest/need", restGetNeed)
router.Get("/rest/system", restGetSystem)
fs, err := embed.Unpack(Resources)
if err != nil {
panic(err)
}
go func() {
mr := martini.New()
mr.Use(embeddedStatic(fs))
mr.Use(martini.Recovery())
mr.Action(router.Handle)
mr.Map(m)
err := http.ListenAndServe(addr, mr)
if err != nil {
warnln("GUI not possible:", err)
}
}()
}
开发者ID:JoeX2,项目名称:syncthing,代码行数:28,代码来源:gui.go
示例2: NewServer
// NewServer creates an instance of a martini server. The
// adapterInst parameter is the adapter type the server will
// use when dispatching requests.
func NewServer(adapterInst PanamaxAdapter) AdapterServer {
s := martini.New()
// Setup middleware
s.Use(martini.Recovery())
s.Use(martini.Logger())
s.Use(mapEncoder)
s.Use(func(c martini.Context, w http.ResponseWriter, r *http.Request) {
c.Map(adapterInst)
})
// Setup routes
router := martini.NewRouter()
router.Group(fmt.Sprintf("/%s", APIVersion), func(r martini.Router) {
r.Get(`/services`, getServices)
r.Get(`/services/:id`, getService)
r.Post(`/services`, createServices)
r.Put(`/services/:id`, updateService)
r.Delete(`/services/:id`, deleteService)
r.Get(`/metadata`, getMetadata)
})
// Add the router action
s.Action(router.Handle)
server := martiniServer{svr: s}
return &server
}
开发者ID:rupakg,项目名称:pmxadapter,代码行数:30,代码来源:server.go
示例3: startGUI
func startGUI(cfg GUIConfiguration, m *Model) {
router := martini.NewRouter()
router.Get("/", getRoot)
router.Get("/rest/version", restGetVersion)
router.Get("/rest/model", restGetModel)
router.Get("/rest/connections", restGetConnections)
router.Get("/rest/config", restGetConfig)
router.Get("/rest/config/sync", restGetConfigInSync)
router.Get("/rest/system", restGetSystem)
router.Get("/rest/errors", restGetErrors)
router.Post("/rest/config", restPostConfig)
router.Post("/rest/restart", restPostRestart)
router.Post("/rest/reset", restPostReset)
router.Post("/rest/error", restPostError)
router.Post("/rest/error/clear", restClearErrors)
go func() {
mr := martini.New()
if len(cfg.User) > 0 && len(cfg.Password) > 0 {
mr.Use(basic(cfg.User, cfg.Password))
}
mr.Use(embeddedStatic())
mr.Use(martini.Recovery())
mr.Use(restMiddleware)
mr.Action(router.Handle)
mr.Map(m)
err := http.ListenAndServe(cfg.Address, mr)
if err != nil {
warnln("GUI not possible:", err)
}
}()
}
开发者ID:nbrownus,项目名称:syncthing,代码行数:33,代码来源:gui.go
示例4: main
func main() {
// Load DB
options := &bolt.Options{Timeout: 2 * time.Second}
dbPath := path.Join(os.Getenv("BOLT_PATH"), "reminder.db")
db, err := bolt.Open(dbPath, 0600, options)
if err != nil {
log.Fatalf("Error opening bolt DB: %v", err)
}
defer db.Close()
// Schedule all (non-cancelled) Reminders
rems, err := remind.GetAllReminders(db)
if err != nil {
log.Fatalf("Error getting reminders: %v\n", err)
}
runningReminders.Schedule(db, rems)
//
// Router, etc
//
r := martini.NewRouter()
m := martini.New()
m.Use(martini.Logger())
m.Use(martini.Recovery())
m.Action(r.Handle)
m.Map(db)
r.Post("/sms", incomingSMS)
m.Run()
}
开发者ID:elimisteve,项目名称:do_reminder,代码行数:34,代码来源:reminder.go
示例5: martiniInit
func martiniInit() {
m := martini.New()
r := martini.NewRouter()
m.Map(db)
//m.Use(sessions.Sessions("my_session", sessions.NewCookieStore([]byte("secret123"))))
//m.Use(oauth2.Github(&oauth2.Options{
// ClientId: "64a641523f31dd5bfe4b",
// ClientSecret: "4fe3fbbca262835c424ca6a80aec6c6cb4228037",
// RedirectURL: "http://localhost:2714/github_callback",
// Scopes: []string{"user:email"},
//}))
//r.Get("/", index)
r.Get("/comments/:forum/:page", GetAllCommentsResource)
r.Post("/comment", PostCommentHandler)
//r.Get("/github_redirect", RedirectUrl)
//r.Get("/github_callback", func(request *http.Request) string {
// request.ParseForm()
// return fmt.Sprintf("%+v", request)
//})
m.Use(martini.Static("ui"))
m.Action(r.Handle)
fmt.Println("Running on port " + viper.GetString("port"))
sio.Handle("/", m)
//http.Handle("/", m)
//http.ListenAndServe(":"+viper.GetString("port"), m)
}
开发者ID:giorgil,项目名称:kaiju,代码行数:31,代码来源:martini.go
示例6: startGUI
func startGUI(addr string, m *Model) {
router := martini.NewRouter()
router.Get("/", getRoot)
router.Get("/rest/version", restGetVersion)
router.Get("/rest/model", restGetModel)
router.Get("/rest/connections", restGetConnections)
router.Get("/rest/config", restGetConfig)
router.Get("/rest/config/sync", restGetConfigInSync)
router.Get("/rest/need", restGetNeed)
router.Get("/rest/system", restGetSystem)
router.Get("/rest/errors", restGetErrors)
router.Post("/rest/config", restPostConfig)
router.Post("/rest/restart", restPostRestart)
router.Post("/rest/error", restPostError)
go func() {
mr := martini.New()
mr.Use(embeddedStatic())
mr.Use(martini.Recovery())
mr.Action(router.Handle)
mr.Map(m)
err := http.ListenAndServe(addr, mr)
if err != nil {
warnln("GUI not possible:", err)
}
}()
}
开发者ID:ngpestelos,项目名称:syncthing,代码行数:28,代码来源:gui.go
示例7: TestMartiniSelectiveRouter
func TestMartiniSelectiveRouter(t *testing.T) {
for _, test := range tests {
w := httptest.NewRecorder()
r := martini.NewRouter()
done := make(chan bool)
selectRoute(r, test.ExpectedMethod, func(rq *http.Request) {
done <- true
})
req, err := http.NewRequest(test.Method, "/", nil)
if err != nil {
t.Fatal(err)
}
OverrideRequestMethod(req, test.OverrideMethod)
m := martini.New()
m.Use(Override())
m.Action(r.Handle)
go m.ServeHTTP(w, req)
select {
case <-done:
case <-time.After(30 * time.Millisecond):
t.Errorf("Expected router to route to %s, got something else (%v).", test.ExpectedMethod, test)
}
}
}
开发者ID:Boomerangz,项目名称:martini-contrib,代码行数:27,代码来源:override_test.go
示例8: BenchmarkCodegangstaMartini_Middleware
func BenchmarkCodegangstaMartini_Middleware(b *testing.B) {
martiniMiddleware := func(rw http.ResponseWriter, r *http.Request, c martini.Context) {
c.Next()
}
r := martini.NewRouter()
m := martini.New()
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Action(r.Handle)
r.Get("/action", helloHandler)
rw, req := testRequest("GET", "/action")
b.ResetTimer()
for i := 0; i < b.N; i++ {
m.ServeHTTP(rw, req)
if rw.Code != 200 {
panic("no good")
}
}
}
开发者ID:pilu,项目名称:golang-mux-benchmark,代码行数:27,代码来源:mux_bench_test.go
示例9: BenchmarkCodegangstaMartini_Composite
func BenchmarkCodegangstaMartini_Composite(b *testing.B) {
namespaces, resources, requests := resourceSetup(10)
martiniMiddleware := func(rw http.ResponseWriter, r *http.Request, c martini.Context) {
c.Next()
}
handler := func(rw http.ResponseWriter, r *http.Request, c *martiniContext) {
fmt.Fprintf(rw, c.MyField)
}
r := martini.NewRouter()
m := martini.New()
m.Use(func(rw http.ResponseWriter, r *http.Request, c martini.Context) {
c.Map(&martiniContext{MyField: r.URL.Path})
c.Next()
})
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Use(martiniMiddleware)
m.Action(r.Handle)
for _, ns := range namespaces {
for _, res := range resources {
r.Get("/"+ns+"/"+res, handler)
r.Post("/"+ns+"/"+res, handler)
r.Get("/"+ns+"/"+res+"/:id", handler)
r.Put("/"+ns+"/"+res+"/:id", handler)
r.Delete("/"+ns+"/"+res+"/:id", handler)
}
}
benchmarkRoutes(b, m, requests)
}
开发者ID:pilu,项目名称:golang-mux-benchmark,代码行数:35,代码来源:mux_bench_test.go
示例10: routes
func routes() martini.Router {
r := martini.NewRouter()
r.Get("/", func() string {
return "It works!"
})
r.Post("/capture", handleCapture)
return r
}
开发者ID:nathanwdavis,项目名称:eventcapture_comparison,代码行数:8,代码来源:eventcaptureserver.go
示例11: newMartini
func newMartini() *martini.ClassicMartini {
r := martini.NewRouter()
m := martini.New()
m.Use(middleware.Logger())
m.Use(martini.Recovery())
m.Use(martini.Static("public"))
m.MapTo(r, (*martini.Routes)(nil))
m.Action(r.Handle)
return &martini.ClassicMartini{m, r}
}
开发者ID:josephyzhou,项目名称:gogs,代码行数:10,代码来源:web.go
示例12: init
func init() {
m = martini.New()
r := martini.NewRouter()
r.Get("/v2/catalog", GetCatalog)
r.Put("/v2/service_instances/:id", CreateService)
r.Delete("/v2/service_instances/:id", DeleteService)
r.Put("/v2/service_instances/:instance_id/service_bindings/:id", BindService)
r.Delete("/v2/service_instances/:instance_id/service_bindings/:id", UnbindService)
m.Action(r.Handle)
}
开发者ID:rleiwang,项目名称:cf-go-broker,代码行数:10,代码来源:broker.go
示例13: AppServer
func AppServer() *Server {
r := martini.NewRouter()
m := martini.New()
m.Use(martini.Logger())
m.Use(martini.Recovery())
m.Use(render.Renderer())
m.Use(DB())
m.Action(r.Handle)
return &Server{m, r}
}
开发者ID:h12w,项目名称:golang-rest-server,代码行数:11,代码来源:server.go
示例14: init
func init() {
m = martini.New()
// Setup routes
r := martini.NewRouter()
r.Post(`/images`, postImage)
r.Get(`/torrents`, getTorrent)
r.Get(`/images/all`, getImagesList)
r.Get(`/images`, getImages)
// Add the router action
m.Action(r.Handle)
}
开发者ID:ruo91,项目名称:docket,代码行数:11,代码来源:registry.go
示例15: newModern
func newModern() *Modern { // customized martini.Classic
r := martini.NewRouter()
m := martini.New()
m.Use(martini.Recovery())
m.Action(r.Handle)
return &Modern{
Martini: m,
Router: r,
}
}
开发者ID:johntdyer,项目名称:golang-devops-stuff,代码行数:11,代码来源:server.go
示例16: main
func main() {
// runtime.GOMAXPROCS(runtime.NumCPU())
// fmt.Printf("GOMAXPROCS is %d\n", runtime.GOMAXPROCS(0))
// Server and middleware
m := martini.New()
m.Use(martini.Logger())
m.Use(martini.Recovery())
r := martini.NewRouter()
m.Action(r.Handle)
r.Get("/", func() string {
return "."
})
r.Any("/fetch", func(req *http.Request, res http.ResponseWriter) {
err := req.ParseForm()
if err != nil {
renderMsg(res, 422, "Unable to parse parameters")
return
}
// Grab params and set defaults
urls := req.Form["url"]
if len(urls) == 0 {
urls = req.Form["url[]"]
}
maxtime, _ := strconv.Atoi(req.Form.Get("maxtime"))
if maxtime == 0 {
maxtime = MAXTIME
}
if len(urls) == 0 {
renderMsg(res, 422, "Url parameter required")
return
}
responses := httpFetch(urls, maxtime)
if err != nil {
renderMsg(res, 500, err.Error())
} else {
renderMsg(res, 200, responses)
}
})
// Boot the server
log.Println("** Purls", VERSION, "http server listening on", ADDR)
log.Println("** with thruput:", THRUPUT, "maxtime:", MAXTIME)
if err := http.ListenAndServe(ADDR, m); err != nil {
log.Fatal(err)
}
}
开发者ID:pkieltyka,项目名称:purls-server,代码行数:54,代码来源:main.go
示例17: newBenchmarkMartini
func newBenchmarkMartini() *martini.ClassicMartini {
router := martini.NewRouter()
base := martini.New()
base.Action(router.Handle)
m := &martini.ClassicMartini{base, router}
m.Get("/benchmark", Languages(), func(result AcceptLanguages) {
//b.Logf("Parsed languages: %s", result)
})
return m
}
开发者ID:Boomerangz,项目名称:martini-contrib,代码行数:12,代码来源:handler_test.go
示例18: createMartini
func createMartini(dbh *db.DBHandle) *martini.Martini {
m := martini.New()
m.Use(martini.Logger())
m.Use(
render.Renderer(
render.Options{
IndentJSON: true,
},
),
)
m.Use(func(w http.ResponseWriter, req *http.Request) {
if origin := req.Header.Get("Origin"); origin != "" {
w.Header().Add("Access-Control-Allow-Origin", origin)
}
w.Header().Add("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE")
w.Header().Add("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token")
w.Header().Add("Access-Control-Allow-Credentials", "true")
})
m.Map(dbh)
r := martini.NewRouter()
r.Options("/api/1/people", send200)
r.Get("/api/1/people", getPeople)
r.Get("/api/1/people/:id", getPerson)
r.Post("/api/1/people", createPerson)
r.Get("/api/1/notes", getNotes)
r.Options("/api/1/notes", send200)
r.Post("/api/1/notes", createNote)
r.Delete("/api/1/notes/:id", deleteNote)
r.Options("/api/1/notes/:id", send200)
r.Get("/api/1/notes/:id", getNote)
r.Options("/api/1/notes/:id", send200)
r.Put("/api/1/notes/:id", updateNote)
r.Get("/api/1/todos", getTodos)
r.Get("/api/1/todos/:id", getTodo)
r.Post("/api/1/todos", createTodo)
r.Options("/api/1/todos", send200)
r.Put("/api/1/todos/:id", updateTodo)
r.Options("/api/1/todos/:id", send200)
r.Delete("/api/1/todos/:id", deleteTodo)
m.Action(r.Handle)
return m
}
开发者ID:hobeone,项目名称:pointyhair,代码行数:50,代码来源:api.go
示例19: BenchmarkCodegangstaMartini_Simple
func BenchmarkCodegangstaMartini_Simple(b *testing.B) {
r := martini.NewRouter()
m := martini.New()
m.Action(r.Handle)
r.Get("/action", helloHandler)
rw, req := testRequest("GET", "/action")
b.ResetTimer()
for i := 0; i < b.N; i++ {
m.ServeHTTP(rw, req)
}
}
开发者ID:pilu,项目名称:golang-mux-benchmark,代码行数:14,代码来源:mux_bench_test.go
示例20: main
func main() {
db, err := sql.Open("sqlite3", ":memory:")
if err != nil {
log.Fatal(err)
}
defer db.Close()
m := martini.New()
r := martini.NewRouter()
r.Get("/tracks", GetTracks)
m.Action(r.Handle)
m.Run()
}
开发者ID:kiripirin,项目名称:miso,代码行数:15,代码来源:miso.go
注:本文中的github.com/codegangsta/martini.NewRouter函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论