basic server/client http communication setup
This commit is contained in:
		@@ -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
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user