basic server/client http communication setup

This commit is contained in:
2020-06-06 21:02:58 -04:00
parent 23dd5090e3
commit dd3fd7c4ae
9 changed files with 65 additions and 93 deletions

View File

@@ -1,34 +1,23 @@
package clientcmd
import (
"bufio"
"fmt"
"net"
"os"
"github.com/go-resty/resty/v2"
)
// GetServerInfo queries the supplied server name for information about the server
func GetServerInfo(conn *net.Conn) error {
for { // sending request for details to server
bytesSent, err := fmt.Fprintf(*conn, "Details\n")
if err != nil {
fmt.Println("Error sending message to server! ", err)
os.Exit(0)
}
if bytesSent > 0 {
fmt.Println("Message Sent")
}
message, err := bufio.NewReader(*conn).ReadString('\n')
if err != nil {
return fmt.Errorf("error reading from connection: %s", err)
}
fmt.Printf("Message from server: %s", message)
switch message {
case "Details\n":
fmt.Println("Server details: ", message)
return nil
default:
return fmt.Errorf("unrecognized message: %s", message)
}
// GetServerInfo queries the supplied server name for information about the current repo from the server
func GetServerInfo() error {
serverURL := "http://localhost:80/info/"
client := resty.New()
resp, err := client.R().
SetPathParams(map[string]string{
"repoName": "testRepo",
}).
Get(serverURL + "{repoName}")
if err != nil {
return fmt.Errorf("error connecting to server at: %s: error was: %s", serverURL, err)
}
fmt.Println(resp)
return nil
}