fname=flag.String("n","","filename to use for pastes from standard input")
target=flag.String("target","http://paste","paste server URL")
)
funcmain(){
flag.Usage=func(){
fmt.Fprintf(os.Stderr,"Usage: %s [filename]\n\nTakes a file or standard in and posts it to your tailnet's paste service. Returns a URL on standard out for sharing.\n\nFlags:\n",filepath.Base(os.Args[0]))
flag.PrintDefaults()
os.Exit(2)
}
flag.Parse()
fin:=os.Stdin
switchflag.NArg(){
case0:
if*fname==""{
*fname="paste.txt"
}
case1:
varerrerror
fin,err=os.Open(flag.Arg(0))
iferr!=nil{
log.Fatal(err)
}
deferfin.Close()
*fname=flag.Arg(0)
default:
flag.Usage()
}
u,err:=url.Parse(*target)
iferr!=nil{
log.Fatalf("%q is not a legal url: %v",*target,err)