Browse code

rename client to DockerCli to prepare the split CLI/API

Victor Vieux authored on 2013/05/15 23:16:46
Showing 1 changed files
... ...
@@ -30,7 +30,7 @@ var (
30 30
 )
31 31
 
32 32
 func ParseCommands(args ...string) error {
33
-	cli := NewClient("0.0.0.0", 4243)
33
+	cli := NewDockerCli("0.0.0.0", 4243)
34 34
 
35 35
 	if len(args) > 0 {
36 36
 		methodName := "Cmd" + strings.ToUpper(args[0][:1]) + strings.ToLower(args[0][1:])
... ...
@@ -41,7 +41,7 @@ func ParseCommands(args ...string) error {
41 41
 		}
42 42
 		ret := method.Func.CallSlice([]reflect.Value{
43 43
 			reflect.ValueOf(cli),
44
-			reflect.ValueOf(args),
44
+			reflect.ValueOf(args[1:]),
45 45
 		})[0].Interface()
46 46
 		if ret == nil {
47 47
 			return nil
... ...
@@ -51,7 +51,7 @@ func ParseCommands(args ...string) error {
51 51
 	return cli.CmdHelp(args...)
52 52
 }
53 53
 
54
-func (cli *Client) CmdHelp(args ...string) error {
54
+func (cli *DockerCli) CmdHelp(args ...string) error {
55 55
 	help := "Usage: docker COMMAND [arg...]\n\nA self-sufficient runtime for linux containers.\n\nCommands:\n"
56 56
 	for _, cmd := range [][]string{
57 57
 		{"attach", "Attach to a running container"},
... ...
@@ -89,7 +89,7 @@ func (cli *Client) CmdHelp(args ...string) error {
89 89
 	return nil
90 90
 }
91 91
 
92
-func (cli *Client) CmdInsert(args ...string) error {
92
+func (cli *DockerCli) CmdInsert(args ...string) error {
93 93
 	cmd := Subcmd("insert", "IMAGE URL PATH", "Insert a file from URL in the IMAGE at PATH")
94 94
 	if err := cmd.Parse(args); err != nil {
95 95
 		return nil
... ...
@@ -110,7 +110,7 @@ func (cli *Client) CmdInsert(args ...string) error {
110 110
 	return nil
111 111
 }
112 112
 
113
-func (cli *Client) CmdBuild(args ...string) error {
113
+func (cli *DockerCli) CmdBuild(args ...string) error {
114 114
 	cmd := Subcmd("build", "-", "Build an image from Dockerfile via stdin")
115 115
 	if err := cmd.Parse(args); err != nil {
116 116
 		return nil
... ...
@@ -124,7 +124,7 @@ func (cli *Client) CmdBuild(args ...string) error {
124 124
 }
125 125
 
126 126
 // 'docker login': login / register a user to registry service.
127
-func (cli *Client) CmdLogin(args ...string) error {
127
+func (cli *DockerCli) CmdLogin(args ...string) error {
128 128
 	var readStringOnRawTerminal = func(stdin io.Reader, stdout io.Writer, echo bool) string {
129 129
 		char := make([]byte, 1)
130 130
 		buffer := make([]byte, 64)
... ...
@@ -238,7 +238,7 @@ func (cli *Client) CmdLogin(args ...string) error {
238 238
 }
239 239
 
240 240
 // 'docker wait': block until a container stops
241
-func (cli *Client) CmdWait(args ...string) error {
241
+func (cli *DockerCli) CmdWait(args ...string) error {
242 242
 	cmd := Subcmd("wait", "CONTAINER [CONTAINER...]", "Block until a container stops, then print its exit code.")
243 243
 	if err := cmd.Parse(args); err != nil {
244 244
 		return nil
... ...
@@ -264,11 +264,14 @@ func (cli *Client) CmdWait(args ...string) error {
264 264
 }
265 265
 
266 266
 // 'docker version': show version information
267
-func (cli *Client) CmdVersion(args ...string) error {
267
+func (cli *DockerCli) CmdVersion(args ...string) error {
268 268
 	cmd := Subcmd("version", "", "Show the docker version information.")
269
+	fmt.Println(len(args))
269 270
 	if err := cmd.Parse(args); err != nil {
270 271
 		return nil
271 272
 	}
273
+
274
+	fmt.Println(cmd.NArg())
272 275
 	if cmd.NArg() > 0 {
273 276
 		cmd.Usage()
274 277
 		return nil
... ...
@@ -298,7 +301,7 @@ func (cli *Client) CmdVersion(args ...string) error {
298 298
 }
299 299
 
300 300
 // 'docker info': display system-wide information.
301
-func (cli *Client) CmdInfo(args ...string) error {
301
+func (cli *DockerCli) CmdInfo(args ...string) error {
302 302
 	cmd := Subcmd("info", "", "Display system-wide information")
303 303
 	if err := cmd.Parse(args); err != nil {
304 304
 		return nil
... ...
@@ -326,7 +329,7 @@ func (cli *Client) CmdInfo(args ...string) error {
326 326
 	return nil
327 327
 }
328 328
 
329
-func (cli *Client) CmdStop(args ...string) error {
329
+func (cli *DockerCli) CmdStop(args ...string) error {
330 330
 	cmd := Subcmd("stop", "[OPTIONS] CONTAINER [CONTAINER...]", "Stop a running container")
331 331
 	nSeconds := cmd.Int("t", 10, "wait t seconds before killing the container")
332 332
 	if err := cmd.Parse(args); err != nil {
... ...
@@ -351,7 +354,7 @@ func (cli *Client) CmdStop(args ...string) error {
351 351
 	return nil
352 352
 }
353 353
 
354
-func (cli *Client) CmdRestart(args ...string) error {
354
+func (cli *DockerCli) CmdRestart(args ...string) error {
355 355
 	cmd := Subcmd("restart", "[OPTIONS] CONTAINER [CONTAINER...]", "Restart a running container")
356 356
 	nSeconds := cmd.Int("t", 10, "wait t seconds before killing the container")
357 357
 	if err := cmd.Parse(args); err != nil {
... ...
@@ -376,7 +379,7 @@ func (cli *Client) CmdRestart(args ...string) error {
376 376
 	return nil
377 377
 }
378 378
 
379
-func (cli *Client) CmdStart(args ...string) error {
379
+func (cli *DockerCli) CmdStart(args ...string) error {
380 380
 	cmd := Subcmd("start", "CONTAINER [CONTAINER...]", "Restart a stopped container")
381 381
 	if err := cmd.Parse(args); err != nil {
382 382
 		return nil
... ...
@@ -397,7 +400,7 @@ func (cli *Client) CmdStart(args ...string) error {
397 397
 	return nil
398 398
 }
399 399
 
400
-func (cli *Client) CmdInspect(args ...string) error {
400
+func (cli *DockerCli) CmdInspect(args ...string) error {
401 401
 	cmd := Subcmd("inspect", "CONTAINER|IMAGE", "Return low-level information on a container/image")
402 402
 	if err := cmd.Parse(args); err != nil {
403 403
 		return nil
... ...
@@ -424,7 +427,7 @@ func (cli *Client) CmdInspect(args ...string) error {
424 424
 	return nil
425 425
 }
426 426
 
427
-func (cli *Client) CmdPort(args ...string) error {
427
+func (cli *DockerCli) CmdPort(args ...string) error {
428 428
 	cmd := Subcmd("port", "CONTAINER PRIVATE_PORT", "Lookup the public-facing port which is NAT-ed to PRIVATE_PORT")
429 429
 	if err := cmd.Parse(args); err != nil {
430 430
 		return nil
... ...
@@ -453,7 +456,7 @@ func (cli *Client) CmdPort(args ...string) error {
453 453
 }
454 454
 
455 455
 // 'docker rmi IMAGE' removes all images with the name IMAGE
456
-func (cli *Client) CmdRmi(args ...string) error {
456
+func (cli *DockerCli) CmdRmi(args ...string) error {
457 457
 	cmd := Subcmd("rmi", "IMAGE [IMAGE...]", "Remove an image")
458 458
 	if err := cmd.Parse(args); err != nil {
459 459
 		return nil
... ...
@@ -474,7 +477,7 @@ func (cli *Client) CmdRmi(args ...string) error {
474 474
 	return nil
475 475
 }
476 476
 
477
-func (cli *Client) CmdHistory(args ...string) error {
477
+func (cli *DockerCli) CmdHistory(args ...string) error {
478 478
 	cmd := Subcmd("history", "IMAGE", "Show the history of an image")
479 479
 	if err := cmd.Parse(args); err != nil {
480 480
 		return nil
... ...
@@ -504,7 +507,7 @@ func (cli *Client) CmdHistory(args ...string) error {
504 504
 	return nil
505 505
 }
506 506
 
507
-func (cli *Client) CmdRm(args ...string) error {
507
+func (cli *DockerCli) CmdRm(args ...string) error {
508 508
 	cmd := Subcmd("rm", "[OPTIONS] CONTAINER [CONTAINER...]", "Remove a container")
509 509
 	v := cmd.Bool("v", false, "Remove the volumes associated to the container")
510 510
 	if err := cmd.Parse(args); err != nil {
... ...
@@ -530,7 +533,7 @@ func (cli *Client) CmdRm(args ...string) error {
530 530
 }
531 531
 
532 532
 // 'docker kill NAME' kills a running container
533
-func (cli *Client) CmdKill(args ...string) error {
533
+func (cli *DockerCli) CmdKill(args ...string) error {
534 534
 	cmd := Subcmd("kill", "CONTAINER [CONTAINER...]", "Kill a running container")
535 535
 	if err := cmd.Parse(args); err != nil {
536 536
 		return nil
... ...
@@ -551,7 +554,7 @@ func (cli *Client) CmdKill(args ...string) error {
551 551
 	return nil
552 552
 }
553 553
 
554
-func (cli *Client) CmdImport(args ...string) error {
554
+func (cli *DockerCli) CmdImport(args ...string) error {
555 555
 	cmd := Subcmd("import", "URL|- [REPOSITORY [TAG]]", "Create a new filesystem image from the contents of a tarball")
556 556
 
557 557
 	if err := cmd.Parse(args); err != nil {
... ...
@@ -574,7 +577,7 @@ func (cli *Client) CmdImport(args ...string) error {
574 574
 	return nil
575 575
 }
576 576
 
577
-func (cli *Client) CmdPush(args ...string) error {
577
+func (cli *DockerCli) CmdPush(args ...string) error {
578 578
 	cmd := Subcmd("push", "[OPTION] NAME", "Push an image or a repository to the registry")
579 579
 	registry := cmd.String("registry", "", "Registry host to push the image to")
580 580
 	if err := cmd.Parse(args); err != nil {
... ...
@@ -630,7 +633,7 @@ func (cli *Client) CmdPush(args ...string) error {
630 630
 	return nil
631 631
 }
632 632
 
633
-func (cli *Client) CmdPull(args ...string) error {
633
+func (cli *DockerCli) CmdPull(args ...string) error {
634 634
 	cmd := Subcmd("pull", "NAME", "Pull an image or a repository from the registry")
635 635
 	tag := cmd.String("t", "", "Download tagged image in repository")
636 636
 	registry := cmd.String("registry", "", "Registry to download from. Necessary if image is pulled by ID")
... ...
@@ -662,7 +665,7 @@ func (cli *Client) CmdPull(args ...string) error {
662 662
 	return nil
663 663
 }
664 664
 
665
-func (cli *Client) CmdImages(args ...string) error {
665
+func (cli *DockerCli) CmdImages(args ...string) error {
666 666
 	cmd := Subcmd("images", "[OPTIONS] [NAME]", "List images")
667 667
 	quiet := cmd.Bool("q", false, "only show numeric IDs")
668 668
 	all := cmd.Bool("a", false, "show all images")
... ...
@@ -725,7 +728,7 @@ func (cli *Client) CmdImages(args ...string) error {
725 725
 	return nil
726 726
 }
727 727
 
728
-func (cli *Client) CmdPs(args ...string) error {
728
+func (cli *DockerCli) CmdPs(args ...string) error {
729 729
 	cmd := Subcmd("ps", "[OPTIONS]", "List containers")
730 730
 	quiet := cmd.Bool("q", false, "Only display numeric IDs")
731 731
 	all := cmd.Bool("a", false, "Show all containers. Only running containers are shown by default.")
... ...
@@ -790,7 +793,7 @@ func (cli *Client) CmdPs(args ...string) error {
790 790
 	return nil
791 791
 }
792 792
 
793
-func (cli *Client) CmdCommit(args ...string) error {
793
+func (cli *DockerCli) CmdCommit(args ...string) error {
794 794
 	cmd := Subcmd("commit", "[OPTIONS] CONTAINER [REPOSITORY [TAG]]", "Create a new image from a container's changes")
795 795
 	flComment := cmd.String("m", "", "Commit message")
796 796
 	flAuthor := cmd.String("author", "", "Author (eg. \"John Hannibal Smith <hannibal@a-team.com>\"")
... ...
@@ -832,7 +835,7 @@ func (cli *Client) CmdCommit(args ...string) error {
832 832
 	return nil
833 833
 }
834 834
 
835
-func (cli *Client) CmdExport(args ...string) error {
835
+func (cli *DockerCli) CmdExport(args ...string) error {
836 836
 	cmd := Subcmd("export", "CONTAINER", "Export the contents of a filesystem as a tar archive")
837 837
 	if err := cmd.Parse(args); err != nil {
838 838
 		return nil
... ...
@@ -849,7 +852,7 @@ func (cli *Client) CmdExport(args ...string) error {
849 849
 	return nil
850 850
 }
851 851
 
852
-func (cli *Client) CmdDiff(args ...string) error {
852
+func (cli *DockerCli) CmdDiff(args ...string) error {
853 853
 	cmd := Subcmd("diff", "CONTAINER", "Inspect changes on a container's filesystem")
854 854
 	if err := cmd.Parse(args); err != nil {
855 855
 		return nil
... ...
@@ -875,7 +878,7 @@ func (cli *Client) CmdDiff(args ...string) error {
875 875
 	return nil
876 876
 }
877 877
 
878
-func (cli *Client) CmdLogs(args ...string) error {
878
+func (cli *DockerCli) CmdLogs(args ...string) error {
879 879
 	cmd := Subcmd("logs", "CONTAINER", "Fetch the logs of a container")
880 880
 	if err := cmd.Parse(args); err != nil {
881 881
 		return nil
... ...
@@ -896,7 +899,7 @@ func (cli *Client) CmdLogs(args ...string) error {
896 896
 	return nil
897 897
 }
898 898
 
899
-func (cli *Client) CmdAttach(args ...string) error {
899
+func (cli *DockerCli) CmdAttach(args ...string) error {
900 900
 	cmd := Subcmd("attach", "CONTAINER", "Attach to a running container")
901 901
 	if err := cmd.Parse(args); err != nil {
902 902
 		return nil
... ...
@@ -929,7 +932,7 @@ func (cli *Client) CmdAttach(args ...string) error {
929 929
 	return nil
930 930
 }
931 931
 
932
-func (cli *Client) CmdSearch(args ...string) error {
932
+func (cli *DockerCli) CmdSearch(args ...string) error {
933 933
 	cmd := Subcmd("search", "NAME", "Search the docker index for images")
934 934
 	if err := cmd.Parse(args); err != nil {
935 935
 		return nil
... ...
@@ -1022,7 +1025,7 @@ func (opts PathOpts) Set(val string) error {
1022 1022
 	return nil
1023 1023
 }
1024 1024
 
1025
-func (cli *Client) CmdTag(args ...string) error {
1025
+func (cli *DockerCli) CmdTag(args ...string) error {
1026 1026
 	cmd := Subcmd("tag", "[OPTIONS] IMAGE REPOSITORY [TAG]", "Tag an image into a repository")
1027 1027
 	force := cmd.Bool("f", false, "Force")
1028 1028
 	if err := cmd.Parse(args); err != nil {
... ...
@@ -1049,7 +1052,7 @@ func (cli *Client) CmdTag(args ...string) error {
1049 1049
 	return nil
1050 1050
 }
1051 1051
 
1052
-func (cli *Client) CmdRun(args ...string) error {
1052
+func (cli *DockerCli) CmdRun(args ...string) error {
1053 1053
 	config, cmd, err := ParseRun(args, nil)
1054 1054
 	if err != nil {
1055 1055
 		return err
... ...
@@ -1120,7 +1123,7 @@ func (cli *Client) CmdRun(args ...string) error {
1120 1120
 	return nil
1121 1121
 }
1122 1122
 
1123
-func (cli *Client) call(method, path string, data interface{}) ([]byte, int, error) {
1123
+func (cli *DockerCli) call(method, path string, data interface{}) ([]byte, int, error) {
1124 1124
 	var params io.Reader
1125 1125
 	if data != nil {
1126 1126
 		buf, err := json.Marshal(data)
... ...
@@ -1158,7 +1161,7 @@ func (cli *Client) call(method, path string, data interface{}) ([]byte, int, err
1158 1158
 	return body, resp.StatusCode, nil
1159 1159
 }
1160 1160
 
1161
-func (cli *Client) stream(method, path string) error {
1161
+func (cli *DockerCli) stream(method, path string) error {
1162 1162
 	req, err := http.NewRequest(method, fmt.Sprintf("http://%s:%d%s", cli.host, cli.port, path), nil)
1163 1163
 	if err != nil {
1164 1164
 		return err
... ...
@@ -1181,7 +1184,7 @@ func (cli *Client) stream(method, path string) error {
1181 1181
 	return nil
1182 1182
 }
1183 1183
 
1184
-func (cli *Client) hijack(method, path string, setRawTerminal bool) error {
1184
+func (cli *DockerCli) hijack(method, path string, setRawTerminal bool) error {
1185 1185
 	req, err := http.NewRequest(method, path, nil)
1186 1186
 	if err != nil {
1187 1187
 		return err
... ...
@@ -1241,11 +1244,11 @@ func Subcmd(name, signature, description string) *flag.FlagSet {
1241 1241
 	return flags
1242 1242
 }
1243 1243
 
1244
-func NewClient(host string, port int) *Client {
1245
-	return &Client{host, port}
1244
+func NewDockerCli(host string, port int) *DockerCli {
1245
+	return &DockerCli{host, port}
1246 1246
 }
1247 1247
 
1248
-type Client struct {
1248
+type DockerCli struct {
1249 1249
 	host string
1250 1250
 	port int
1251 1251
 }