github.com/go-swagger/go-swagger@v0.31.0/examples/file-server/upload_file.go (about)

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