diff options
author | Wim <wim@42.be> | 2018-08-06 21:47:05 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2018-08-06 21:47:05 +0200 |
commit | 51062863a5c34d81e296cf15c61140911037cf3b (patch) | |
tree | 9b5e044672486326c7a0ca8fb26430f37bf4d83c /vendor/github.com/technoweenie/multipartstreamer | |
parent | 4fb4b7aa6c02a54db8ad8dd98e4d321396926c0d (diff) | |
download | matterbridge-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')
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) -} |