miércoles, 20 de julio de 2016

Libería httpd. Core Custom





Durante el desarrollo de apis usando la librería httpd, se ocasionan errores , y  podemos generar un errorlog para obtener esos datos.


Por mi parte, uso lo que trae el mismo ejemplo;

oLogError := UHttpdLog():New( hb_dirBase() +"\log\web_error.log" )

Y en el Hash de arranque del servidor;
"LogError"  => {| m | oLogError:Add( Cstr( m  )+ hb_eol() ) }
*Nota: Todo:Enviar error por http a otro servidor de escuchas!


El problema, es que si estás desarrollando un sistema completo de apis,
es muy tedioso ver que esta ocurriendo, y si la máquina donde desarrollas es distinto donde corre el servidor, es doblemente tedioso.

Para ello, me propuse mejorar el core.prg de la librería para permitir que la
salida de error me viniese en el navegador web, aumentando la productividad.

Ahora, ante un error, siempre nos muestra un simple :

500 Internal Server Error

Ahora, con la modificación nos mostrará la pila de llamadas;

Aparte, he modificado para poder indicar cuantos Threads quiero de arranque y 
la cantidad máximas.


Todo ello configurable simplemente con un par de methods nuevos a la clase ;

Local nPreAlloc := 5, nCount_Max = 100

oServer := UHttpdNew( )
oServer:SetConfigThreads( nPreAlloc, nCount_Max )
oServer:SetDebugHTML( .T. ) 



 

No hay comentarios:

Publicar un comentario

Android y Git. Disponer del hash automáticamente.

Una de las cosas a las que estoy acostumbrado, es tener siempre en mi código, el hash/tag/versión del control de versiones que estoy usan...