Implemented configurable debugging port, bumped to v2
This commit is contained in:
parent
5a15824ed5
commit
2098da3417
1 changed files with 21 additions and 14 deletions
29
main.go
29
main.go
|
|
@ -7,6 +7,7 @@ import (
|
|||
"embed"
|
||||
"encoding/json"
|
||||
"flag"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"io"
|
||||
"log"
|
||||
|
|
@ -16,12 +17,12 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
const VERSION = "v1"
|
||||
const VERSION = "v2"
|
||||
|
||||
var (
|
||||
flagVerbose bool
|
||||
flagWsURL string
|
||||
flagWatch string
|
||||
flagVersion bool
|
||||
flagDebuggingPort int
|
||||
|
||||
//go:embed static
|
||||
fs embed.FS
|
||||
|
|
@ -29,10 +30,15 @@ var (
|
|||
|
||||
func main() {
|
||||
flag.BoolVar(&flagVerbose, "v", false, "verbose")
|
||||
flag.StringVar(&flagWsURL, "ws", "ws://127.0.0.1:9222", "devtools url")
|
||||
flag.StringVar(&flagWatch, "watch", "", "Files to watch")
|
||||
flag.BoolVar(&flagVersion, "version", false, "Print version and exit")
|
||||
flag.IntVar(&flagDebuggingPort, "port", 9222, "Chrome debugging port")
|
||||
flag.Parse()
|
||||
|
||||
if flagVersion {
|
||||
fmt.Println(VERSION)
|
||||
return
|
||||
}
|
||||
|
||||
http.HandleFunc("/", pageIndex)
|
||||
http.HandleFunc("/css/main.css", pageCSS)
|
||||
|
||||
|
|
@ -46,7 +52,7 @@ func main() {
|
|||
http.ListenAndServe("[::]:5123", nil)
|
||||
}
|
||||
|
||||
func replaceTilde(str string) string {// {{{
|
||||
func replaceTilde(str string) string { // {{{
|
||||
homedir, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
|
|
@ -58,7 +64,7 @@ func replaceTilde(str string) string {// {{{
|
|||
}
|
||||
|
||||
return str
|
||||
}// }}}
|
||||
} // }}}
|
||||
|
||||
func pageIndex(w http.ResponseWriter, r *http.Request) { // {{{
|
||||
var tmpl *template.Template
|
||||
|
|
@ -100,17 +106,17 @@ func actionSites(w http.ResponseWriter, r *http.Request) { // {{{
|
|||
w.Write(j)
|
||||
} // }}}
|
||||
|
||||
func actionBrowserStart(w http.ResponseWriter, r *http.Request) {// {{{
|
||||
func actionBrowserStart(w http.ResponseWriter, r *http.Request) { // {{{
|
||||
body, _ := io.ReadAll(r.Body)
|
||||
userDataDir := replaceTilde(string(body))
|
||||
browser := exec.Command("google-chrome", "--user-data-dir="+string(userDataDir), "--remote-debugging-port=9222")
|
||||
browser := exec.Command("google-chrome", "--user-data-dir="+string(userDataDir), fmt.Sprintf("--remote-debugging-port=%d", flagDebuggingPort))
|
||||
err := browser.Start()
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
} else {
|
||||
go browser.Wait()
|
||||
}
|
||||
}// }}}
|
||||
} // }}}
|
||||
func actionStart(w http.ResponseWriter, r *http.Request) { // {{{
|
||||
var req struct {
|
||||
URL string
|
||||
|
|
@ -133,7 +139,8 @@ func actionStart(w http.ResponseWriter, r *http.Request) { // {{{
|
|||
|
||||
var site Site
|
||||
expandedWatch := replaceTilde(req.Watch)
|
||||
site, err = NewSite(flagWsURL, req.URL, expandedWatch)
|
||||
wsURL := fmt.Sprintf("ws://127.0.0.1:%d", flagDebuggingPort)
|
||||
site, err = NewSite(wsURL, req.URL, expandedWatch)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue