mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-07-06 09:34:04 +00:00
Use mod vendor for vendored directory (backwards compatible)
This commit is contained in:
47
vendor/github.com/technoweenie/multipartstreamer/README.md
generated
vendored
Normal file
47
vendor/github.com/technoweenie/multipartstreamer/README.md
generated
vendored
Normal file
@ -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
|
31
vendor/github.com/technoweenie/multipartstreamer/examples/multipart.go
generated
vendored
31
vendor/github.com/technoweenie/multipartstreamer/examples/multipart.go
generated
vendored
@ -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)
|
||||
}
|
27
vendor/github.com/technoweenie/multipartstreamer/examples/streamer.go
generated
vendored
27
vendor/github.com/technoweenie/multipartstreamer/examples/streamer.go
generated
vendored
@ -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)
|
||||
}
|
Reference in New Issue
Block a user