aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/google/gops/internal
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2017-05-20 15:43:42 -0700
committerChristine Dodrill <me@christine.website>2017-05-20 15:43:42 -0700
commit9cbb20aea2d6b1979a47af9956dbcc8dbe2a2e08 (patch)
tree9d3b8a93d647484a490b1db5907d7b87b85081a9 /vendor/github.com/google/gops/internal
parentd9e24cd8978458ee72c98ad0c13316907517e499 (diff)
downloadxesite-9cbb20aea2d6b1979a47af9956dbcc8dbe2a2e08.tar.xz
xesite-9cbb20aea2d6b1979a47af9956dbcc8dbe2a2e08.zip
add vendor dependencies
Diffstat (limited to 'vendor/github.com/google/gops/internal')
-rw-r--r--vendor/github.com/google/gops/internal/internal.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/github.com/google/gops/internal/internal.go b/vendor/github.com/google/gops/internal/internal.go
new file mode 100644
index 0000000..1382822
--- /dev/null
+++ b/vendor/github.com/google/gops/internal/internal.go
@@ -0,0 +1,52 @@
+package internal
+
+import (
+ "errors"
+ "fmt"
+ "io/ioutil"
+ "os"
+ "os/user"
+ "path/filepath"
+ "runtime"
+ "strings"
+)
+
+func ConfigDir() (string, error) {
+ if runtime.GOOS == "windows" {
+ return filepath.Join(os.Getenv("APPDATA"), "gops"), nil
+ }
+ homeDir := guessUnixHomeDir()
+ if homeDir == "" {
+ return "", errors.New("unable to get current user home directory: os/user lookup failed; $HOME is empty")
+ }
+ return filepath.Join(homeDir, ".config", "gops"), nil
+}
+
+func guessUnixHomeDir() string {
+ usr, err := user.Current()
+ if err == nil {
+ return usr.HomeDir
+ }
+ return os.Getenv("HOME")
+}
+
+func PIDFile(pid int) (string, error) {
+ gopsdir, err := ConfigDir()
+ if err != nil {
+ return "", err
+ }
+ return fmt.Sprintf("%s/%d", gopsdir, pid), nil
+}
+
+func GetPort(pid int) (string, error) {
+ portfile, err := PIDFile(pid)
+ if err != nil {
+ return "", err
+ }
+ b, err := ioutil.ReadFile(portfile)
+ if err != nil {
+ return "", err
+ }
+ port := strings.TrimSpace(string(b))
+ return port, nil
+}