diff options
Diffstat (limited to 'vendor/github.com/toqueteos')
| -rw-r--r-- | vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md | 10 | ||||
| -rw-r--r-- | vendor/github.com/toqueteos/webbrowser/LICENSE.md | 19 | ||||
| -rw-r--r-- | vendor/github.com/toqueteos/webbrowser/README.md | 60 | ||||
| -rw-r--r-- | vendor/github.com/toqueteos/webbrowser/webbrowser.go | 139 |
4 files changed, 0 insertions, 228 deletions
diff --git a/vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md b/vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md deleted file mode 100644 index b701a3a62..000000000 --- a/vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md +++ /dev/null @@ -1,10 +0,0 @@ -# webbrowser contributing guide - -Any changes are welcomed! - -1. Be nice. -2. Don't be afraid to ask, but please try search first. - -## Looking for contact info? - -- Mail: `toqueteos AT gmail DOT com` diff --git a/vendor/github.com/toqueteos/webbrowser/LICENSE.md b/vendor/github.com/toqueteos/webbrowser/LICENSE.md deleted file mode 100644 index e679e09fd..000000000 --- a/vendor/github.com/toqueteos/webbrowser/LICENSE.md +++ /dev/null @@ -1,19 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2012-23 by Carlos Cobo and contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/toqueteos/webbrowser/README.md b/vendor/github.com/toqueteos/webbrowser/README.md deleted file mode 100644 index ed9f4b207..000000000 --- a/vendor/github.com/toqueteos/webbrowser/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# webbrowser [](https://github.com/toqueteos/webbrowser/actions) [](https://pkg.go.dev/github.com/toqueteos/webbrowser)
-
-webbrowser provides a simple API for opening web pages on your default browser.
-
-It's inspired on [Python's webbrowser](http://docs.python.org/3/library/webbrowser.html) package but lacks some of its features (open new window).
-
-It just opens a webpage, most browsers will open it on a new tab.
-
-## Installation
-
-As simple as:
-
-```bash
-go get -u github.com/toqueteos/webbrowser
-```
-
-It is Go modules compatible!
-
-_(`go.mod` was explicitly added in version `v1.2.0`)_
-
-## Usage
-
-```go
-package main
-
-import "github.com/toqueteos/webbrowser"
-
-func main() {
- webbrowser.Open("http://golang.org")
-}
-```
-
-That's it!
-
-## Crossplatform support
-
-The package works on:
-
-- [x] `android` (verified by 3rd party)
-- [x] `darwin`
-- [x] `freebsd` (verified by 3rd party)
-- [x] `linux`
-- [x] `netbsd` (verified by 3rd party)
-- [x] `openbsd` (verified by 3rd party)
-- [x] `windows`
-
-## License
-
-It is licensed under the MIT open source license, please see the [LICENSE.md](https://github.com/toqueteos/webbrowser/blob/master/LICENSE.md) file for more information.
-
-## Thanks...
-
-Miki Tebeka wrote a nicer version that wasn't on godoc.org when I did this, [check it out!](https://bitbucket.org/tebeka/go-wise/src/d8db9bf5c4d1/desktop.go?at=default).
-
-## Already disliking it?
-
-No problem! There's alternative libraries that may be better to your needs:
-
-- https://github.com/pkg/browser, it does what webbrowser does and more!
-- https://github.com/skratchdot/open-golang, it even provides a `xdg-open` implementation in case you don't have it!
diff --git a/vendor/github.com/toqueteos/webbrowser/webbrowser.go b/vendor/github.com/toqueteos/webbrowser/webbrowser.go deleted file mode 100644 index 5a0a4aa7a..000000000 --- a/vendor/github.com/toqueteos/webbrowser/webbrowser.go +++ /dev/null @@ -1,139 +0,0 @@ -// Package webbrowser provides a simple API for opening web pages on your -// default browser. -package webbrowser - -import ( - "errors" - "fmt" - "net/url" - "os" - "os/exec" - "runtime" - "strings" -) - -var ( - ErrCantOpenBrowser = errors.New("webbrowser: can't open browser") - ErrNoCandidates = errors.New("webbrowser: no browser candidate found for your OS") -) - -// Candidates contains a list of registered `Browser`s that will be tried with Open. -var Candidates []Browser - -type Browser interface { - // Command returns a ready to be used Cmd that will open an URL. - Command(string) (*exec.Cmd, error) - // Open tries to open a URL in your default browser. NOTE: This may cause - // your program to hang until the browser process is closed in some OSes, - // see https://github.com/toqueteos/webbrowser/issues/4. - Open(string) error -} - -// Open tries to open a URL in your default browser ensuring you have a display -// set up and not running this from SSH. -// NOTE: This may cause your program to hang until the browser process is closed in -// some OSes, see https://github.com/toqueteos/webbrowser/issues/4. -// SECURITY(windows): Do not use a file:// URLs pointing to an executable, this -// can execute programs, see https://github.com/toqueteos/webbrowser/issues/10 -func Open(s string) (err error) { - if len(Candidates) == 0 { - return ErrNoCandidates - } - - // Try to determine if there's a display available (only linux) and we - // aren't on a terminal (all but windows). - switch runtime.GOOS { - case "linux": - // No display, no need to open a browser. Lynx users **MAY** have - // something to say about this. - if os.Getenv("DISPLAY") == "" { - return fmt.Errorf("webbrowser: tried to open %q, no screen found", s) - } - fallthrough - case "darwin": - // Check SSH env vars. - if os.Getenv("SSH_CLIENT") != "" || os.Getenv("SSH_TTY") != "" { - return fmt.Errorf("webbrowser: tried to open %q, but you are running a shell session", s) - } - } - - // Try all candidates - for _, candidate := range Candidates { - err := candidate.Open(s) - if err == nil { - return nil - } - } - - return ErrCantOpenBrowser -} - -func init() { - // Register the default Browser for current OS, if it exists. - if os, ok := osCommand[runtime.GOOS]; ok { - Candidates = append(Candidates, browserCommand{os.cmd, os.args}) - } -} - -var ( - osCommand = map[string]*browserCommand{ - "android": &browserCommand{"xdg-open", nil}, - "darwin": &browserCommand{"open", nil}, - "freebsd": &browserCommand{"xdg-open", nil}, - "linux": &browserCommand{"xdg-open", nil}, - "netbsd": &browserCommand{"xdg-open", nil}, - "openbsd": &browserCommand{"xdg-open", nil}, // It may be open instead - "windows": &browserCommand{"cmd", []string{"/c", "start"}}, - } - winSchemes = [3]string{"https", "http", "file"} -) - -type browserCommand struct { - cmd string - args []string -} - -func (b browserCommand) Command(s string) (*exec.Cmd, error) { - u, err := url.Parse(s) - if err != nil { - return nil, err - } - - validUrl := ensureValidURL(u) - - b.args = append(b.args, validUrl) - - return exec.Command(b.cmd, b.args...), nil -} - -func (b browserCommand) Open(s string) error { - cmd, err := b.Command(s) - if err != nil { - return err - } - - return cmd.Run() -} - -func ensureScheme(u *url.URL) { - for _, s := range winSchemes { - if u.Scheme == s { - return - } - } - u.Scheme = "http" -} - -func ensureValidURL(u *url.URL) string { - // Enforce a scheme (windows requires scheme to be set to work properly). - ensureScheme(u) - s := u.String() - - // Escape characters not allowed by cmd/bash - switch runtime.GOOS { - case "windows": - s = strings.Replace(s, "&", `^&`, -1) - } - - return s -} |
