How to use Hostname method of html Package

Best K6 code snippet using html.Hostname

frontend.go

Source:frontend.go Github

copy

Full Screen

...29 r.GET("/", func(g *gin.Context) {30 g.HTML(200, "index.html", gin.H{"domain": f.config.Domain})31 })32 r.GET("/available/:hostname", func(c *gin.Context) {33 hostname, valid := isValidHostname(c.Params.ByName("hostname"))34 if valid {35 _, err := f.hosts.GetHost(hostname)36 valid = err != nil37 }38 c.JSON(200, gin.H{39 "available": valid,40 })41 })42 r.GET("/new/:hostname", func(c *gin.Context) {43 hostname, valid := isValidHostname(c.Params.ByName("hostname"))44 if !valid {45 c.JSON(404, gin.H{"error": "This hostname is not valid"})46 return47 }48 var err error49 if _, err := f.hosts.GetHost(hostname); err == nil {50 c.JSON(403, gin.H{"error": "This hostname has already been registered."})51 return52 }53 host := &shared.Host{Hostname: hostname, Ip: "127.0.0.1"}54 host.GenerateAndSetToken()55 if err = f.hosts.SetHost(host); err != nil {56 c.JSON(400, gin.H{"error": "Could not register host."})57 return58 }59 c.JSON(200, gin.H{60 "hostname": host.Hostname,61 "token": host.Token,62 "update_link": fmt.Sprintf("/update/%s/%s", host.Hostname, host.Token),63 })64 })65 r.GET("/update/:hostname/:token", func(c *gin.Context) {66 hostname, valid := isValidHostname(c.Params.ByName("hostname"))67 token := c.Params.ByName("token")68 if !valid {69 c.JSON(404, gin.H{"error": "This hostname is not valid"})70 return71 }72 host, err := f.hosts.GetHost(hostname)73 if err != nil {74 c.JSON(404, gin.H{75 "error": "This hostname has not been registered or is expired.",76 })77 return78 }79 if host.Token != token {80 c.JSON(403, gin.H{81 "error": "You have supplied the wrong token to manipulate this host",82 })83 return84 }85 ip, err := extractRemoteAddr(c.Request)86 if err != nil {87 c.JSON(400, gin.H{88 "error": "Your sender IP address is not in the right format",89 })90 return91 }92 host.Ip = ip93 if err = f.hosts.SetHost(host); err != nil {94 c.JSON(400, gin.H{95 "error": "Could not update registered IP address",96 })97 }98 c.JSON(200, gin.H{99 "current_ip": ip,100 "status": "Successfuly updated",101 })102 })103 return r.Run(f.config.ListenFrontend)104}105// Get the Remote Address of the client. At First we try to get the106// X-Forwarded-For Header which holds the IP if we are behind a proxy,107// otherwise the RemoteAddr is used108func extractRemoteAddr(req *http.Request) (string, error) {109 header_data, ok := req.Header["X-Forwarded-For"]110 if ok {111 return header_data[0], nil112 } else {113 ip, _, err := net.SplitHostPort(req.RemoteAddr)114 return ip, err115 }116}117// Get index template from bindata118func buildTemplate() *template.Template {119 html, err := template.New("index.html").Parse(indexTemplate)120 if err != nil {121 log.Fatal(err)122 }123 return html124}125func isValidHostname(host string) (string, bool) {126 valid, _ := regexp.Match("^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)$", []byte(host))127 return host, valid128}...

Full Screen

Full Screen

helpers.go

Source:helpers.go Github

copy

Full Screen

...14 animation: none !important;15}16</style>`17// Use a concurrent map for the local hostname cache to avoid concurrent map access crashes.18var localHostnameCache = cmap.New()19func markHostnamesLocal(hostnames ...string) {20 for _, hostname := range hostnames {21 localHostnameCache.Set(hostname, true)22 }23}24// Bespoke, Percy-specific functionality for determining if a hostname is equivalent to localhost.25// This dynamically handles DOM snapshots from custom local server hostnames like "testserver" or26// "local.dev" where they should be proxyified here so that the asset is still loaded correctly27// in the rendering environment.28func isLocalHostname(hostname string) bool {29 // Don't do reverse DNS lookups on IP addresses, just assume they are not local.30 if hostname != "127.0.0.1" && net.ParseIP(hostname) != nil {31 return false32 }33 // Go's DNS timeouts for NX records are slow and the net package has no mechanism to configure34 // them. For speed, keep a cache of hostnames which we already consider local.35 if _, ok := localHostnameCache.Get(hostname); ok {36 return true37 }38 // Do a DNS lookup: if addresses at all are returned, don't consider the request "local".39 addrs, _ := net.LookupHost(hostname)40 if len(addrs) == 0 {41 markHostnamesLocal(hostname)42 // Assume that if a host cannot be looked up, we should fallback to local proxymap resolution.43 return true44 }45 return false46}47// Transforms localhost requests into requests that will be reverse proxied based on the proxymap.48func proxifyIfLocalRequest(req *http.Request) {49 hostname := justHostname(req.URL.Host)50 if isLocalHostname(hostname) {51 req.Host = *proxymeHostnameFlag52 req.URL.Host = *proxymeHostnameFlag53 }54}55// Handle inconvenient host/hostport combos and just return host.56func justHostname(s string) string {57 if strings.Contains(s, ":") {58 hostname, _, _ := net.SplitHostPort(s)59 return hostname60 } else {61 return s62 }63}64func injectHtmlFooter(html []byte, footerHtml string) []byte {65 htmlString := string(html[:])66 if strings.Contains(htmlString, "</body>") {67 return []byte(strings.Replace(htmlString, "</body>", footerHtml+"</body>", -1))68 }69 if strings.Contains(htmlString, "</html>") {70 return []byte(strings.Replace(htmlString, "</html>", footerHtml+"</html>", -1))...

Full Screen

Full Screen

main.go

Source:main.go Github

copy

Full Screen

...13 html bool14)15func setHostName() {16 var err error17 hostname, err = os.Hostname()18 if err != nil {19 log.Println(err)20 os.Exit(1)21 }22}23func hostNameServer(w http.ResponseWriter, r *http.Request) {24 w.Header().Set("Cache-Control", "no-cache")25 if html {26 fmt.Fprintf(w, "<h1>Hello from %s!</h1>", hostname)27 } else {28 w.Header().Set("Content-Type", "application/json")29 r.Header.Set("hostname", hostname)30 jsonHeader, err := json.Marshal(r.Header)31 if err != nil {...

Full Screen

Full Screen

Hostname

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 if err != nil {4 fmt.Println(err)5 }6 defer resp.Body.Close()7 fmt.Println(resp.Request.URL.Hostname())8}9import (10func main() {11 if err != nil {12 fmt.Println(err)13 }14 defer resp.Body.Close()15 fmt.Println(url.Parse(resp.Request.URL.String()).Hostname())16}17import (18func main() {19 if err != nil {20 fmt.Println(err)21 }22 defer resp.Body.Close()23 fmt.Println(url.Parse(resp.Request.URL.String()).Hostname())24}25import (26func main() {27 if err != nil {28 fmt.Println(err)29 }30 defer resp.Body.Close()31 fmt.Println(url.Parse(resp.Request.URL.String()).Hostname())32}33import (34func main() {35 if err != nil {36 fmt.Println(err)37 }38 defer resp.Body.Close()39 fmt.Println(url.Parse(resp.Request.URL.String()).Hostname())40}41import (42func main() {43 if err != nil {44 fmt.Println(err)45 }46 defer resp.Body.Close()47 fmt.Println(url.Parse(resp.Request.URL.String()).Hostname())48}

Full Screen

Full Screen

Hostname

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 if err != nil {4 fmt.Println(err)5 }6 defer resp.Body.Close()7 fmt.Println(resp.Request.Host)8}

Full Screen

Full Screen

Hostname

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 http.HandleFunc("/", handler)4 http.ListenAndServe(":8080", nil)5}6func handler(w http.ResponseWriter, r *http.Request) {7 hostname, err := os.Hostname()8 if err != nil {9 panic(err)10 }11 addrs, err := net.InterfaceAddrs()12 if err != nil {13 panic(err)14 }15 for _, address := range addrs {16 if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {17 if ipnet.IP.To4() != nil {18 ip = ipnet.IP.String()19 }20 }21 }22 fmt.Fprintf(w, "Hostname: %s\n", hostname)23 fmt.Fprintf(w, "IP: %s\n", ip)24}

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run K6 automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful