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