diff options
Diffstat (limited to 'http-client/client.go')
| -rw-r--r-- | http-client/client.go | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/http-client/client.go b/http-client/client.go index 346a654..211c299 100644 --- a/http-client/client.go +++ b/http-client/client.go @@ -2,7 +2,6 @@ package main import ( "bytes" - "crypto/rsa" "encoding/json" "errors" "fmt" @@ -14,12 +13,11 @@ import ( ) const ( - URL = "http://localhost:8080/api" - Register = "register" - SendMessage = "sendMessage" - PollMessages = "pollMessages" - GetUserKey = "getUserKey" - TryAuth = "tryAuth" + Register = "/api/register" + SendMessage = "/api/sendMessage" + PollMessages = "/api/pollMessages" + GetUserKey = "/api/getUserKey" + TryAuth = "/api/tryAuth" ) var storage struct { @@ -48,29 +46,29 @@ func (msg *Message) toString() string { return fmt.Sprintf("%s: %s", msg.User, msg.Data) } -func makeRequest(request Request, apiMethod string, key *rsa.PublicKey) (*http.Response, error) { - signedRequest, err := signRequest(request, key) +func makeRequest(request Request, apiMethod string, user UserData) (*http.Response, error) { + signedRequest, err := signRequest(request, user.ParsedUserKey) if err != nil { return nil, err } reader := bytes.NewReader([]byte(signedRequest)) - return http.Post(URL+"/"+apiMethod, "application/json", reader) + return http.Post(user.ServerUrl+apiMethod, "application/json", reader) } -func sendMessage(user UserData, message string, key *rsa.PublicKey) { +func sendMessage(user UserData, message string) { // TODO(andrew): Добавить отображение ошибки в интерфейс _, _ = makeRequest(Request{ User: user.Username, Data: message, - }, SendMessage, key) + }, SendMessage, user) } -func register(user UserData, serverKey string, key *rsa.PublicKey) (Response, error) { +func register(user UserData, serverKey string) (Response, error) { var resp Response httpResp, err := makeRequest(Request{ User: user.Username, Data: serverKey, - }, Register, key) + }, Register, user) if err != nil { return resp, err } @@ -85,12 +83,12 @@ func register(user UserData, serverKey string, key *rsa.PublicKey) (Response, er } } -func tryAuth(user UserData, key *rsa.PublicKey) (bool, error) { +func tryAuth(user UserData) (bool, error) { var resp Response httpResp, err := makeRequest(Request{ User: user.Username, Data: "auth", - }, TryAuth, key) + }, TryAuth, user) if err != nil { return false, err } @@ -105,14 +103,18 @@ func tryAuth(user UserData, key *rsa.PublicKey) (bool, error) { } } +func pingServer(user UserData) error { + _, err := http.Get(user.ServerUrl) + return err +} + func runClient(user UserData) { - lastPoll := time.Now().UnixNano() - key, _ := parseKey(user.UserKey) + var lastPoll int64 = 0 for { httpResp, _ := makeRequest(Request{ User: user.Username, Data: fmt.Sprint(lastPoll), - }, PollMessages, key) + }, PollMessages, user) lastPoll = time.Now().UnixNano() if httpResp.StatusCode == http.StatusOK { |