summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/technoweenie/multipartstreamer
diff options
context:
space:
mode:
authorWim <wim@42.be>2018-08-06 21:47:05 +0200
committerWim <wim@42.be>2018-08-06 21:47:05 +0200
commit51062863a5c34d81e296cf15c61140911037cf3b (patch)
tree9b5e044672486326c7a0ca8fb26430f37bf4d83c /vendor/github.com/technoweenie/multipartstreamer
parent4fb4b7aa6c02a54db8ad8dd98e4d321396926c0d (diff)
downloadmatterbridge-msglm-51062863a5c34d81e296cf15c61140911037cf3b.tar.gz
matterbridge-msglm-51062863a5c34d81e296cf15c61140911037cf3b.tar.bz2
matterbridge-msglm-51062863a5c34d81e296cf15c61140911037cf3b.zip
Use mod vendor for vendored directory (backwards compatible)
Diffstat (limited to 'vendor/github.com/technoweenie/multipartstreamer')
-rw-r--r--vendor/github.com/technoweenie/multipartstreamer/README.md47
-rw-r--r--vendor/github.com/technoweenie/multipartstreamer/examples/multipart.go31
-rw-r--r--vendor/github.com/technoweenie/multipartstreamer/examples/streamer.go27
3 files changed, 47 insertions, 58 deletions
diff --git a/vendor/github.com/technoweenie/multipartstreamer/README.md b/vendor/github.com/technoweenie/multipartstreamer/README.md
new file mode 100644
index 00000000..dc1f824f
--- /dev/null
+++ b/vendor/github.com/technoweenie/multipartstreamer/README.md
@@ -0,0 +1,47 @@
+# multipartstreamer
+
+Package multipartstreamer helps you encode large files in MIME multipart format
+without reading the entire content into memory. It uses io.MultiReader to
+combine an inner multipart.Reader with a file handle.
+
+```go
+package main
+
+import (
+ "github.com/technoweenie/multipartstreamer.go"
+ "net/http"
+)
+
+func main() {
+ ms := multipartstreamer.New()
+
+ ms.WriteFields(map[string]string{
+ "key": "some-key",
+ "AWSAccessKeyId": "ABCDEF",
+ "acl": "some-acl",
+ })
+
+ // Add any io.Reader to the multipart.Reader.
+ ms.WriteReader("file", "filename", some_ioReader, size)
+
+ // Shortcut for adding local file.
+ ms.WriteFile("file", "path/to/file")
+
+ req, _ := http.NewRequest("POST", "someurl", nil)
+ ms.SetupRequest(req)
+
+ res, _ := http.DefaultClient.Do(req)
+}
+```
+
+One limitation: You can only write a single file.
+
+## TODO
+
+* Multiple files?
+
+## Credits
+
+Heavily inspired by James
+
+https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/Zjg5l4nKcQ0
diff --git a/vendor/github.com/technoweenie/multipartstreamer/examples/multipart.go b/vendor/github.com/technoweenie/multipartstreamer/examples/multipart.go
deleted file mode 100644
index 971078be..00000000
--- a/vendor/github.com/technoweenie/multipartstreamer/examples/multipart.go
+++ /dev/null
@@ -1,31 +0,0 @@
-package main
-
-import (
- "bytes"
- "flag"
- "fmt"
- "io"
- "mime/multipart"
- "os"
- "path/filepath"
-)
-
-func main() {
- defaultPath, _ := os.Getwd()
- defaultFile := filepath.Join(defaultPath, "streamer.go")
- fullpath := flag.String("path", defaultFile, "Path to the include in the multipart data.")
- flag.Parse()
-
- buffer := bytes.NewBufferString("")
- writer := multipart.NewWriter(buffer)
-
- fmt.Println("Adding the file to the multipart writer")
- fileWriter, _ := writer.CreateFormFile("file", *fullpath)
- fileData, _ := os.Open(*fullpath)
- io.Copy(fileWriter, fileData)
- writer.Close()
-
- fmt.Println("Writing the multipart data to a file")
- output, _ := os.Create("multiparttest")
- io.Copy(output, buffer)
-}
diff --git a/vendor/github.com/technoweenie/multipartstreamer/examples/streamer.go b/vendor/github.com/technoweenie/multipartstreamer/examples/streamer.go
deleted file mode 100644
index 324f7e12..00000000
--- a/vendor/github.com/technoweenie/multipartstreamer/examples/streamer.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package main
-
-import (
- "flag"
- "fmt"
- "github.com/technoweenie/multipartstreamer"
- "io"
- "os"
- "path/filepath"
-)
-
-func main() {
- defaultPath, _ := os.Getwd()
- defaultFile := filepath.Join(defaultPath, "streamer.go")
- fullpath := flag.String("path", defaultFile, "Path to the include in the multipart data.")
- flag.Parse()
-
- ms := multipartstreamer.New()
-
- fmt.Println("Adding the file to the multipart writer")
- ms.WriteFile("file", *fullpath)
- reader := ms.GetReader()
-
- fmt.Println("Writing the multipart data to a file")
- file, _ := os.Create("streamtest")
- io.Copy(file, reader)
-}