diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 33 |
1 files changed, 12 insertions, 21 deletions
@@ -2,11 +2,12 @@ package main import ( "flag" - "fmt" "github.com/tonistiigi/units" "io" "net" "os" + + "git.samanthony.xyz/hose/util" ) const ( @@ -25,18 +26,18 @@ func main() { flag.Parse() if *handshakeHost != "" { if err := handshake(*handshakeHost); err != nil { - eprintf("%v\n", err) + util.Eprintf("%v\n", err) } } else if *recvFlag { if err := recv(); err != nil { - eprintf("%v\n", err) + util.Eprintf("%v\n", err) } } else if *sendHost != "" { if err := send(*sendHost); err != nil { - eprintf("%v\n", err) + util.Eprintf("%v\n", err) } } else { - logf("%s", usage) + util.Logf("%s", usage) flag.Usage() os.Exit(1) } @@ -50,42 +51,32 @@ func recv() error { return err } defer ln.Close() - logf("listening on %s", laddr) + util.Logf("listening on %s", laddr) conn, err := ln.Accept() if err != nil { return err } defer conn.Close() - logf("accepted connection from %s", conn.RemoteAddr()) + util.Logf("accepted connection from %s", conn.RemoteAddr()) n, err := io.Copy(os.Stdout, conn) - logf("received %.2f", units.Bytes(n)*units.B) + util.Logf("received %.2f", units.Bytes(n)*units.B) return err } // send pipes data from stdin to the remote host. func send(rhost string) error { raddr := net.JoinHostPort(rhost, port) - logf("connecting to %s...", raddr) + util.Logf("connecting to %s...", raddr) conn, err := net.Dial(network, raddr) if err != nil { return err } defer conn.Close() - logf("connected to %s", raddr) + util.Logf("connected to %s", raddr) n, err := io.Copy(conn, os.Stdin) - logf("sent %.2f", units.Bytes(n)*units.B) + util.Logf("sent %.2f", units.Bytes(n)*units.B) return err } - -func eprintf(format string, a ...any) { - logf(format, a...) - os.Exit(1) -} - -func logf(format string, a ...any) { - msg := fmt.Sprintf(format, a...) - fmt.Fprintf(os.Stderr, "%s\n", msg) -} |