@@ -2,6 +2,8 @@ package main
22
33import (
44 "fmt"
5+ "io/ioutil"
6+ "log"
57 "os"
68 "os/exec"
79)
@@ -13,6 +15,7 @@ func main() {
1315 var option string
1416 var body string
1517 var header string
18+ var path string
1619
1720 fmt .Println ("Starting HTTP request creator" )
1821 fmt .Println ("HTTP request URL: " )
@@ -35,27 +38,29 @@ func main() {
3538 }
3639 if option == "2" {
3740 fmt .Println ("Path to json file: " )
41+ fmt .Scan (& path )
42+ body = loadFile (path )
3843 }
3944 args = append (args , "--body" )
4045 args = append (args , body )
4146 }
4247
4348 //* HTTP REQUEST HEADER
44- fmt .Println ("Header: " )
45- fmt .Scan (& header )
46- // args = append(args, "--header")
47- // args = append(args, header)
49+ fmt .Println ("Do you want to add header to the request? [y/n]" )
50+ fmt .Scan (& option )
51+ if ynToBool (option ) {
52+ fmt .Println ("Header: " )
53+ fmt .Scan (& header )
54+ args = append (args , "--header" )
55+ args = append (args , header )
56+ }
4857
4958 //* HTTP REQUEST SENDING
5059 fmt .Println ("Do you want to send request? [y/n]" )
5160 fmt .Scan (& option )
5261 if ynToBool (option ) {
5362 fmt .Println ("Sending request" )
54- //! HEADER nil, body nil
55- cmd := exec .Command ("curl" , args ... )
56- cmd .Stdin = os .Stdin
57- cmd .Stdout = os .Stdout
58- cmd .Run ()
63+ sendRequest (args )
5964 } else {
6065 fmt .Println ("Do you want to save request to file? [y/n]" )
6166 fmt .Scan (& option )
@@ -75,3 +80,23 @@ func ynToBool(option string) bool {
7580 return false
7681 }
7782}
83+
84+ func sendRequest (args []string ) {
85+ cmd := exec .Command ("curl" , args ... )
86+ log .Println ("curl " , args )
87+ cmd .Stdin = os .Stdin
88+ cmd .Stdout = os .Stdout
89+ cmd .Run ()
90+ }
91+
92+ func loadFile (path string ) string {
93+ b , err := ioutil .ReadFile (path )
94+ checkErr (err )
95+ return string (b )
96+ }
97+
98+ func checkErr (err error ) {
99+ if err != nil {
100+ panic (err )
101+ }
102+ }
0 commit comments