本文整理匯總了Golang中github.com/cortesi/devd.Devd.AddRoutes方法的典型用法代碼示例。如果您正苦於以下問題:Golang Devd.AddRoutes方法的具體用法?Golang Devd.AddRoutes怎麽用?Golang Devd.AddRoutes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cortesi/devd.Devd
的用法示例。
在下文中一共展示了Devd.AddRoutes方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: main
//.........這裏部分代碼省略.........
}
realAddr := *address
if *allInterfaces {
realAddr = "0.0.0.0"
}
var creds *devd.Credentials
if *credspec != "" {
var err error
creds, err = devd.CredentialsFromSpec(*credspec)
if err != nil {
kingpin.Fatalf("%s", err)
return
}
}
hdrs := make(http.Header)
if *cors {
hdrs.Set("Access-Control-Allow-Origin", "*")
}
dd := devd.Devd{
// Shaping
Latency: *latency,
DownKbps: *downKbps,
UpKbps: *upKbps,
AddHeaders: &hdrs,
// Livereload
LivereloadRoutes: *livereloadRoutes,
Livereload: *livereloadNaked,
WatchPaths: *watch,
Excludes: *excludes,
Credentials: creds,
}
if err := dd.AddRoutes(*routes); err != nil {
kingpin.Fatalf("%s", err)
}
if err := dd.AddIgnores(*ignoreLogs); err != nil {
kingpin.Fatalf("%s", err)
}
logger := termlog.NewLog()
if *quiet {
logger.Quiet()
}
if *debug {
logger.Enable("debug")
}
if *logTime {
logger.Enable("timer")
}
if *logHeaders {
logger.Enable("headers")
}
if *forceColor {
logger.Color(true)
}
if *noTimestamps {
logger.TimeFmt = ""
}
if *tls {
home, err := homedir.Dir()
if err != nil {
kingpin.Fatalf("Could not get user's homedir: %s", err)
}
dst := path.Join(home, ".devd.cert")
if _, err := os.Stat(dst); os.IsNotExist(err) {
err := devd.GenerateCert(dst)
if err != nil {
kingpin.Fatalf("Could not generate cert: %s", err)
}
}
*certFile = dst
}
err := dd.Serve(
realAddr,
*port,
*certFile,
logger,
func(url string) {
if *openBrowser {
err := webbrowser.Open(url)
if err != nil {
kingpin.Fatalf("Failed to open browser: %s", err)
}
}
},
)
if err != nil {
kingpin.Fatalf("%s", err)
}
}
示例2: main
//.........這裏部分代碼省略.........
).
PlaceHolder("N").
Short('u').
Default("0").
Uint()
watch := kingpin.Flag("watch", "Watch path to trigger livereload").
PlaceHolder("PATH").
Short('w').
Strings()
excludes := kingpin.Flag("exclude", "Glob pattern for files to exclude from livereload").
PlaceHolder("PATTERN").
Short('x').
Strings()
debug := kingpin.Flag("debug", "Debugging for devd development").
Default("false").
Bool()
routes := kingpin.Arg(
"route",
`Routes have the following forms:
[SUBDOMAIN]/<PATH>=<DIR>
[SUBDOMAIN]/<PATH>=<URL>
<DIR>
<URL>
`,
).Required().Strings()
kingpin.Version(devd.Version)
kingpin.Parse()
realAddr := *address
if *allInterfaces {
realAddr = "0.0.0.0"
}
var creds *devd.Credentials
if *credspec != "" {
var err error
creds, err = devd.CredentialsFromSpec(*credspec)
if err != nil {
kingpin.Fatalf("%s", err)
return
}
}
dd := devd.Devd{
// Shaping
Latency: *latency,
DownKbps: *downKbps,
UpKbps: *upKbps,
// Livereload
LivereloadRoutes: *livereloadRoutes,
WatchPaths: *watch,
Excludes: *excludes,
Credentials: creds,
}
if err := dd.AddRoutes(*routes); err != nil {
kingpin.Fatalf("%s", err)
}
if err := dd.AddIgnores(*ignoreLogs); err != nil {
kingpin.Fatalf("%s", err)
}
logger := termlog.NewLog()
if *quiet {
logger.Quiet()
}
if *debug {
logger.Enable("debug")
}
if *logTime {
logger.Enable("timer")
}
if *logHeaders {
logger.Enable("headers")
}
err := dd.Serve(
realAddr,
*port,
*certFile,
logger,
func(url string) {
if *openBrowser {
webbrowser.Open(url)
}
},
)
if err != nil {
kingpin.Fatalf("%s", err)
}
}