move wakeup to client package and extract http client

This commit is contained in:
Anton Schirg 2018-08-29 19:17:45 +02:00
parent 7dd49b835a
commit e495824834
2 changed files with 36 additions and 30 deletions

View File

@ -1,38 +1,15 @@
package main package client
import ( import (
"bytes"
"context"
"encoding/json"
"github.com/pkg/errors"
"github.com/zrepl/zrepl/config"
"github.com/zrepl/zrepl/daemon"
"io"
"net"
"net/http" "net/http"
"net"
"context"
"bytes"
"encoding/json"
"io"
"github.com/pkg/errors"
) )
func RunWakeup(config config.Config, args []string) error {
if len(args) != 1 {
return errors.Errorf("Expected 1 argument: job")
}
httpc, err := controlHttpClient(config.Global.Control.SockPath)
if err != nil {
return err
}
err = jsonRequestResponse(httpc, daemon.ControlJobEndpointWakeup,
struct {
Name string
}{
Name: args[0],
},
struct{}{},
)
return err
}
func controlHttpClient(sockpath string) (client http.Client, err error) { func controlHttpClient(sockpath string) (client http.Client, err error) {
return http.Client{ return http.Client{
Transport: &http.Transport{ Transport: &http.Transport{
@ -66,3 +43,4 @@ func jsonRequestResponse(c http.Client, endpoint string, req interface{}, res in
return nil return nil
} }

28
client/wakeup.go Normal file
View File

@ -0,0 +1,28 @@
package client
import (
"github.com/pkg/errors"
"github.com/zrepl/zrepl/config"
"github.com/zrepl/zrepl/daemon"
)
func RunWakeup(config config.Config, args []string) error {
if len(args) != 1 {
return errors.Errorf("Expected 1 argument: job")
}
httpc, err := controlHttpClient(config.Global.Control.SockPath)
if err != nil {
return err
}
err = jsonRequestResponse(httpc, daemon.ControlJobEndpointWakeup,
struct {
Name string
}{
Name: args[0],
},
struct{}{},
)
return err
}