diff options
Diffstat (limited to 'vendor/github.com/hashicorp/go-getter/get_file.go')
-rw-r--r-- | vendor/github.com/hashicorp/go-getter/get_file.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/go-getter/get_file.go b/vendor/github.com/hashicorp/go-getter/get_file.go new file mode 100644 index 0000000..e5d2d61 --- /dev/null +++ b/vendor/github.com/hashicorp/go-getter/get_file.go | |||
@@ -0,0 +1,32 @@ | |||
1 | package getter | ||
2 | |||
3 | import ( | ||
4 | "net/url" | ||
5 | "os" | ||
6 | ) | ||
7 | |||
8 | // FileGetter is a Getter implementation that will download a module from | ||
9 | // a file scheme. | ||
10 | type FileGetter struct { | ||
11 | // Copy, if set to true, will copy data instead of using a symlink | ||
12 | Copy bool | ||
13 | } | ||
14 | |||
15 | func (g *FileGetter) ClientMode(u *url.URL) (ClientMode, error) { | ||
16 | path := u.Path | ||
17 | if u.RawPath != "" { | ||
18 | path = u.RawPath | ||
19 | } | ||
20 | |||
21 | fi, err := os.Stat(path) | ||
22 | if err != nil { | ||
23 | return 0, err | ||
24 | } | ||
25 | |||
26 | // Check if the source is a directory. | ||
27 | if fi.IsDir() { | ||
28 | return ClientModeDir, nil | ||
29 | } | ||
30 | |||
31 | return ClientModeFile, nil | ||
32 | } | ||