4
0
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:
Wim
2018-08-06 21:47:05 +02:00
parent 4fb4b7aa6c
commit 51062863a5
1112 changed files with 15660 additions and 420183 deletions

View 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

View File

@ -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)
}

View File

@ -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)
}