Files

56 lines
1.1 KiB
Go

package client
import (
"github.com/Akilan1999/p2p-rendering-computation/config"
"io/ioutil"
"net"
"net/http"
)
type ResponseMAPPort struct {
IPAddress string
PortNo string
EntireAddress string
}
func MAPPort(port string, domainName string, ServerAddress string) (*ResponseMAPPort, error) {
Config, err := config.ConfigInit(nil, nil)
if err != nil {
return nil, err
}
URL := "http://0.0.0.0:" + Config.ServerPort
if ServerAddress != "" {
URL = "http://" + ServerAddress
}
//if version == "version 6" {
URL = URL + "/MAPPort?port=" + port + "&domain_name=" + domainName
//} else {
// URL = "http://" + IP + ":" + serverPort + "/server_info"
//}
resp, err := http.Get(URL)
if err != nil {
return nil, err
}
// Convert response to byte value
byteValue, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
host, Exposedport, err := net.SplitHostPort(string(byteValue))
if err != nil {
return nil, err
}
var response ResponseMAPPort
response.IPAddress = host
response.PortNo = Exposedport
response.EntireAddress = string(byteValue)
return &response, nil
}