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  }