summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/toqueteos
diff options
context:
space:
mode:
authorAntoine GIRARD <sapk@users.noreply.github.com>2019-09-04 21:53:54 +0200
committerLauris BH <lauris.buksis@zzdats.lv>2019-09-04 22:53:54 +0300
commit9fe4437bda13aeec183f004af138254f351c279f (patch)
tree5255ced1684f767a6bb7eadda4ced8d0df5764b7 /vendor/github.com/toqueteos
parent4cb1bdddc88580d20305415869d4c13827097bd9 (diff)
downloadgitea-9fe4437bda13aeec183f004af138254f351c279f.tar.gz
gitea-9fe4437bda13aeec183f004af138254f351c279f.zip
Use vendored go-swagger (#8087)
* Use vendored go-swagger * vendor go-swagger * revert un wanteed change * remove un-needed GO111MODULE * Update Makefile Co-Authored-By: techknowlogick <matti@mdranta.net>
Diffstat (limited to 'vendor/github.com/toqueteos')
-rw-r--r--vendor/github.com/toqueteos/webbrowser/.travis.yml9
-rw-r--r--vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md11
-rw-r--r--vendor/github.com/toqueteos/webbrowser/LICENSE.md19
-rw-r--r--vendor/github.com/toqueteos/webbrowser/README.md56
-rw-r--r--vendor/github.com/toqueteos/webbrowser/go.mod3
-rw-r--r--vendor/github.com/toqueteos/webbrowser/webbrowser.go137
6 files changed, 235 insertions, 0 deletions
diff --git a/vendor/github.com/toqueteos/webbrowser/.travis.yml b/vendor/github.com/toqueteos/webbrowser/.travis.yml
new file mode 100644
index 0000000000..b55b114ab9
--- /dev/null
+++ b/vendor/github.com/toqueteos/webbrowser/.travis.yml
@@ -0,0 +1,9 @@
+language: go
+
+go:
+ - 1.2
+ - 1.12
+ - tip
+
+script:
+ - go build ./...
diff --git a/vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md b/vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md
new file mode 100644
index 0000000000..b9f7bf82a2
--- /dev/null
+++ b/vendor/github.com/toqueteos/webbrowser/CONTRIBUTING.md
@@ -0,0 +1,11 @@
+# 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?
+
+- Twitter: [@toqueteos](https://twitter.com/toqueteos)
+- Mail: `toqueteos AT gmail DOT com`
diff --git a/vendor/github.com/toqueteos/webbrowser/LICENSE.md b/vendor/github.com/toqueteos/webbrowser/LICENSE.md
new file mode 100644
index 0000000000..0d67949ef3
--- /dev/null
+++ b/vendor/github.com/toqueteos/webbrowser/LICENSE.md
@@ -0,0 +1,19 @@
+The MIT License (MIT)
+Copyright (c) 2013-19 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
new file mode 100644
index 0000000000..2ce091afb6
--- /dev/null
+++ b/vendor/github.com/toqueteos/webbrowser/README.md
@@ -0,0 +1,56 @@
+# webbrowser [![Build Status](https://travis-ci.org/toqueteos/webbrowser.png?branch=master)](https://travis-ci.org/toqueteos/webbrowser) [![GoDoc](http://godoc.org/github.com/toqueteos/webbrowser?status.png)](http://godoc.org/github.com/toqueteos/webbrowser) [![Sourcegraph](https://sourcegraph.com/github.com/toqueteos/webbrowser/-/badge.svg)](https://sourcegraph.com/github.com/toqueteos/webbrowser?badge)
+
+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
+```
+
+## 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/go.mod b/vendor/github.com/toqueteos/webbrowser/go.mod
new file mode 100644
index 0000000000..c4ed3ce83a
--- /dev/null
+++ b/vendor/github.com/toqueteos/webbrowser/go.mod
@@ -0,0 +1,3 @@
+module github.com/toqueteos/webbrowser
+
+go 1.12
diff --git a/vendor/github.com/toqueteos/webbrowser/webbrowser.go b/vendor/github.com/toqueteos/webbrowser/webbrowser.go
new file mode 100644
index 0000000000..f4f19b6b3d
--- /dev/null
+++ b/vendor/github.com/toqueteos/webbrowser/webbrowser.go
@@ -0,0 +1,137 @@
+// 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.
+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
+}