本文整理汇总了Golang中github.com/julienschmidt/httprouter.Router.NotFound方法的典型用法代码示例。如果您正苦于以下问题:Golang Router.NotFound方法的具体用法?Golang Router.NotFound怎么用?Golang Router.NotFound使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/julienschmidt/httprouter.Router
的用法示例。
在下文中一共展示了Router.NotFound方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: 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
}
}
示例2: LaunchWebInterface
// LaunchWebInterface begins listening on http://$host, for enabling remote web access
// Does NOT use HTTPS
func LaunchWebInterface(host, staticDir string, rt *httprouter.Router) error {
logger.Info("Starting web interface on http://%s", host)
logger.Warning("HTTPS not in use!")
// logger.Info("Web resources directory: %s", staticDir)
appLoc, err := determineResourcePath(staticDir)
if err != nil {
return err
}
logger.Debug("static dir:%s", appLoc)
rt.NotFound = http.FileServer(http.Dir(appLoc))
go func() {
log.Panic(http.ListenAndServe(host, rt))
}()
return nil
}
示例3: SetupHTTP
// setupHTTP attaches all the needed handlers to provide the HTTP API.
func (m *Manta) SetupHTTP(mux *httprouter.Router) {
baseRoute := "/" + m.ServiceInstance.UserAccount
mux.NotFound = ErrNotFound
mux.MethodNotAllowed = ErrNotAllowed
mux.RedirectFixedPath = true
mux.RedirectTrailingSlash = true
mux.HandleMethodNotAllowed = true
// this particular route can't be handled by httprouter correctly due to its
// handling of positional parameters but we can't just pass in ErrNotAllowed
// either because it's the wrong type
handleNotAllowed := func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
w.WriteHeader(http.StatusMethodNotAllowed)
w.Header().Set("Content-Type", "text/plain; charset=UTF-8")
w.Write([]byte("Method is not allowed"))
}
mux.POST(baseRoute+"/stor", handleNotAllowed)
// storage APIs
// PutSnapLink and PutMetaData have the same route spec as other routes
// in this group, which isn't permitted by httprouter. We pick up the
// correct path in the handler
mux.PUT(baseRoute+"/stor/:dir", m.handler((*Manta).handleStorage)) // PutDirectory
mux.GET(baseRoute+"/stor/:dir", m.handler((*Manta).handleStorage)) // ListDirectory
mux.DELETE(baseRoute+"/stor/:dir", m.handler((*Manta).handleStorage)) // DeleteDirectory
mux.PUT(baseRoute+"/stor/:dir/:obj", m.handler((*Manta).handleStorage)) // PutObject
mux.GET(baseRoute+"/stor/:dir/:obj", m.handler((*Manta).handleStorage)) // GetObject
mux.DELETE(baseRoute+"/stor/:dir/:obj", m.handler((*Manta).handleStorage)) // DeleteObject
// job APIs
mux.POST(baseRoute+"/jobs", m.handler((*Manta).handleJobs)) // CreateJob
mux.POST(baseRoute+"/jobs/:id/live/in", m.handler((*Manta).handleJobs)) // AddJobInputs
mux.POST(baseRoute+"/jobs/:id/live/in/end", m.handler((*Manta).handleJobs)) // EndJobInput
mux.POST(baseRoute+"/jobs/:id/live/cancel", m.handler((*Manta).handleJobs)) // CancelJob
mux.GET(baseRoute+"/jobs", m.handler((*Manta).handleJobs)) // ListJobs
mux.GET(baseRoute+"/jobs/:id/live/status", m.handler((*Manta).handleJobs)) // GetJob
mux.GET(baseRoute+"/jobs/:id/live/out", m.handler((*Manta).handleJobs)) // GetJobOutput
mux.GET(baseRoute+"/jobs/:id/live/in", m.handler((*Manta).handleJobs)) // GetJobInput
mux.GET(baseRoute+"/jobs/:id/live/fail", m.handler((*Manta).handleJobs)) // GetJobFailures
mux.GET(baseRoute+"/jobs/:id/live/err", m.handler((*Manta).handleJobs)) // GetJobErrors
}
示例4: SetupHTTP
// SetupHTTP attaches all the needed handlers to provide the HTTP API.
func (c *CloudAPI) SetupHTTP(mux *httprouter.Router) {
baseRoute := "/" + c.ServiceInstance.UserAccount
mux.NotFound = NotFound{}
mux.MethodNotAllowed = MethodNotAllowed{}
// keys
keysRoute := baseRoute + "/keys"
mux.GET(keysRoute, c.handler((*CloudAPI).handleListKeys))
mux.POST(keysRoute, c.handler((*CloudAPI).handleCreateKey))
// key
keyRoute := keysRoute + "/:id"
mux.GET(keyRoute, c.handler((*CloudAPI).handleGetKey))
mux.DELETE(keyRoute, c.handler((*CloudAPI).handleDeleteKey))
// images
imagesRoute := baseRoute + "/images"
mux.GET(imagesRoute, c.handler((*CloudAPI).handleListImages))
// image
imageRoute := imagesRoute + "/:id"
mux.GET(imageRoute, c.handler((*CloudAPI).handleGetImage))
mux.POST(imageRoute, c.handler((*CloudAPI).handleCreateImageFromMachine))
mux.DELETE(imageRoute, c.handler((*CloudAPI).handleDeleteImage))
// packages
packagesRoute := baseRoute + "/packages"
mux.GET(packagesRoute, c.handler((*CloudAPI).handleListPackages))
// package
packageRoute := packagesRoute + "/:id"
mux.GET(packageRoute, c.handler((*CloudAPI).handleGetPackage))
// machines
machinesRoute := baseRoute + "/machines"
mux.GET(machinesRoute, c.handler((*CloudAPI).handleListMachines))
mux.HEAD(machinesRoute, c.handler((*CloudAPI).handleCountMachines))
mux.POST(machinesRoute, c.handler((*CloudAPI).handleCreateMachine))
// machine
machineRoute := machinesRoute + "/:id"
mux.GET(machineRoute, c.handler((*CloudAPI).handleGetMachine))
mux.POST(machineRoute, c.handler((*CloudAPI).handleUpdateMachine))
mux.DELETE(machineRoute, c.handler((*CloudAPI).handleDeleteMachine))
// machine metadata
machineMetadataRoute := machineRoute + "/metadata"
mux.GET(machineMetadataRoute, c.handler((*CloudAPI).handleGetMachineMetadata))
mux.POST(machineMetadataRoute, c.handler((*CloudAPI).handleUpdateMachineMetadata))
mux.DELETE(machineMetadataRoute, c.handler((*CloudAPI).handleDeleteAllMachineMetadata))
// machine metadata (individual key)
machineMetadataKeyRoute := machineMetadataRoute + "/:key"
mux.DELETE(machineMetadataKeyRoute, c.handler((*CloudAPI).handleDeleteMachineMetadata))
// machine tags
machineTagsRoute := machineRoute + "/tags"
mux.GET(machineTagsRoute, c.handler((*CloudAPI).handleListMachineTags))
mux.POST(machineTagsRoute, c.handler((*CloudAPI).handleAddMachineTags))
mux.PUT(machineTagsRoute, c.handler((*CloudAPI).handleReplaceMachineTags))
mux.DELETE(machineTagsRoute, c.handler((*CloudAPI).handleDeleteMachineTags))
// machine tag
machineTagRoute := machineTagsRoute + "/:tag"
mux.GET(machineTagRoute, c.handler((*CloudAPI).handleGetMachineTag))
mux.DELETE(machineTagRoute, c.handler((*CloudAPI).handleDeleteMachineTag))
// machine firewall rules
machineFWRulesRoute := machineRoute + "/fwrules"
mux.GET(machineFWRulesRoute, c.handler((*CloudAPI).handleMachineFirewallRules))
// machine NICs
machineNICsRoute := machineRoute + "/nics"
mux.GET(machineNICsRoute, c.handler((*CloudAPI).handleListNICs))
mux.POST(machineNICsRoute, c.handler((*CloudAPI).handleAddNIC))
// machine NIC
machineNICRoute := machineNICsRoute + "/:mac"
mux.GET(machineNICRoute, c.handler((*CloudAPI).handleGetNIC))
mux.DELETE(machineNICRoute, c.handler((*CloudAPI).handleRemoveNIC))
// firewall rules
firewallRulesRoute := baseRoute + "/fwrules"
mux.GET(firewallRulesRoute, c.handler((*CloudAPI).handleListFirewallRules))
mux.POST(firewallRulesRoute, c.handler((*CloudAPI).handleCreateFirewallRule))
// firewall rule
firewallRuleRoute := firewallRulesRoute + "/:id"
mux.GET(firewallRuleRoute, c.handler((*CloudAPI).handleGetFirewallRule))
mux.POST(firewallRuleRoute, c.handler((*CloudAPI).handleUpdateFirewallRule))
mux.DELETE(firewallRuleRoute, c.handler((*CloudAPI).handleDeleteFirewallRule))
mux.POST(firewallRuleRoute+"/enable", c.handler((*CloudAPI).handleEnableFirewallRule))
mux.POST(firewallRuleRoute+"/disable", c.handler((*CloudAPI).handleDisableFirewallRule))
// networks
networksRoute := baseRoute + "/networks"
mux.GET(networksRoute, c.handler((*CloudAPI).handleListNetworks))
//.........这里部分代码省略.........
示例5: setupNotFoundRoute
func setupNotFoundRoute(router *httprouter.Router) {
router.NotFound = http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
http.Redirect(rw, r, "/login", http.StatusTemporaryRedirect)
})
}