Articles of ir al

throw: todos los goroutines están dormidos – punto muerto

Dado el siguiente sencillo progtwig Go package main import ( “fmt” ) func total(ch chan int) { res := 0 for iter := range ch { res += iter } ch <- res } func main() { ch := make(chan int) go total(ch) ch <- 1 ch <- 2 ch <- 3 fmt.Println("Total is ", […]

Golang read request body

Estoy escribiendo mi propio logginMiddleware. Básicamente, necesito registrar el cuerpo de la solicitud y la respuesta. El problema al que me enfrenté es que cuando leí el cuerpo, se vacía y no puedo leerlo dos veces. Entiendo que sucede porque es del tipo ReadCloser. ¿Hay alguna manera de rebobinar el cuerpo hasta el comienzo?

División de código cliente / servidor

Estoy desarrollando una aplicación cliente / servidor en golang, y existen ciertas entidades lógicas que existen tanto en el cliente como en el servidor (la lista es limitada) Me gustaría asegurar que cierto código para estas entidades se incluya ÚNICAMENTE en la parte del servidor, pero NO en el cliente (lo opuesto es bueno, pero […]

No se puede liberar memoria una vez ocupada por bytes.Buffer

Recibo bytes de texto ASCII comprimido en bytes compressedbytes de tipo [] byte. El problema al que me enfrento es que el siguiente procedimiento ocupa una gran cantidad de memoria que no se libera una vez que la función llega a su fin y permanece ocupada durante todo el tiempo de ejecución del progtwig. b […]

Se tarda demasiado tiempo al usar el paquete “plantilla” para generar una página web dinámica para el cliente en golang

Es muy lento cuando se usa el paquete de template para generar una página web dinámica para el cliente. Código de prueba de la siguiente manera, golang 1.4.1 http.Handle(“/js/”, (http.FileServer(http.Dir(webpath)))) http.Handle(“/css/”, (http.FileServer(http.Dir(webpath)))) http.Handle(“/img/”, (http.FileServer(http.Dir(webpath)))) http.HandleFunc(“/test”, TestHandler) func TestHandler(w http.ResponseWriter, r *http.Request) { Log.Info(“Entering TestHandler …”) r.ParseForm() filename := NiConfig.webpath + “/test.html” t, err := template.ParseFiles(filename) […]