github.com/circl-dev/go-swagger@v0.31.0/examples/file-server/upload_file.go (about) 1 // +build ignore 2 3 package main 4 5 import ( 6 "log" 7 "os" 8 9 "github.com/circl-dev/go-swagger/examples/file-server/client" 10 "github.com/circl-dev/go-swagger/examples/file-server/client/uploads" 11 "github.com/circl-dev/runtime" 12 ) 13 14 func main() { 15 if len(os.Args) < 2 { 16 log.Fatalf("must provide a file name as argument") 17 } 18 19 filename := os.Args[1] 20 21 f, err := os.Open(filename) 22 if err != nil { 23 log.Fatal(err) 24 } 25 26 err = upload(f) 27 if err != nil { 28 log.Fatal(err) 29 } 30 } 31 32 func upload(reader runtime.NamedReadCloser) error { 33 34 config := client.DefaultTransportConfig().WithHost("localhost:8000") 35 36 uploader := client.NewHTTPClientWithConfig(nil, config) 37 38 params := uploads.NewUploadFileParams().WithFile(reader) 39 40 _, err := uploader.Uploads.UploadFile(params) 41 42 return err 43 }