1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package main
- import (
- "fmt"
- "net/http"
- "os"
- "github.com/giuem/ga-proxy/server"
- "github.com/urfave/cli"
- )
- func main() {
- app := cli.NewApp()
- app.Name = "ga-proxy"
- app.HideVersion = true
- app.Flags = []cli.Flag{
- cli.StringFlag{
- Name: "ip, i",
- Value: "127.0.0.1",
- Usage: "`IP` to listen",
- EnvVar: "IP",
- },
- cli.StringFlag{
- Name: "port, p",
- Value: "9080",
- Usage: "`port` to listen",
- EnvVar: "PORT",
- },
- }
- app.Action = func(c *cli.Context) error {
- server.Run(c.String("ip"), c.String("port"))
- return nil
- }
- app.Commands = []cli.Command{
- cli.Command{
- Name: "ping",
- Flags: []cli.Flag{
- cli.StringFlag{
- Name: "ip, i",
- Value: "127.0.0.1",
- Usage: "server `IP`",
- EnvVar: "IP",
- },
- cli.StringFlag{
- Name: "port, p",
- Value: "9080",
- Usage: "server `port`",
- EnvVar: "PORT",
- },
- },
- Action: func(c *cli.Context) error {
- resp, err := http.Get(fmt.Sprintf("http://%v:%v/ping", c.String("ip"), c.String("port")))
- if err != nil {
- return cli.NewExitError(err, 1)
- }
- defer resp.Body.Close()
- if resp.StatusCode != 200 {
- return cli.NewExitError(fmt.Errorf("server returns non-200 status code"), 1)
- }
- return nil
- },
- },
- }
- app.Run(os.Args)
- }
|