initial commits
							parent
							
								
									ae7875d8e5
								
							
						
					
					
						commit
						9c0263cfa4
					
				| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
package maymoon
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"sourcecode.social/reiver/go-errhttp"
 | 
			
		||||
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/http"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func serveError(responsewriter http.ResponseWriter, err error) {
 | 
			
		||||
 | 
			
		||||
	if nil == responsewriter {
 | 
			
		||||
/////////////// RETURN
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if nil == err {
 | 
			
		||||
		http.Error(responsewriter, "Internal Server Error\n\nMissing Error\n", http.StatusInternalServerError)
 | 
			
		||||
/////////////// RETURN
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var e errhttp.Error
 | 
			
		||||
	{
 | 
			
		||||
		var casted bool
 | 
			
		||||
 | 
			
		||||
		e, casted = err.(errhttp.Error)
 | 
			
		||||
		if !casted {
 | 
			
		||||
			var msg []byte = []byte("Internal Server Error\n\n")
 | 
			
		||||
			msg = append(msg, err.Error()...)
 | 
			
		||||
			msg = append(msg, '\n')
 | 
			
		||||
 | 
			
		||||
			http.Error(responsewriter, string(msg), http.StatusInternalServerError)
 | 
			
		||||
/////////////////////// RETURN
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var statuscode int = e.ErrHTTP()
 | 
			
		||||
 | 
			
		||||
	var msg []byte
 | 
			
		||||
	{
 | 
			
		||||
		var statustext string = http.StatusText(statuscode)
 | 
			
		||||
		if "" == statustext {
 | 
			
		||||
			statustext = fmt.Sprintf("HTTP Error %d", statuscode)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		msg = append(msg, statustext...)
 | 
			
		||||
	}
 | 
			
		||||
	{
 | 
			
		||||
		var inner error = e.Unwrap()
 | 
			
		||||
		if nil != inner {
 | 
			
		||||
			msg = append(msg, "\n\n"...)
 | 
			
		||||
			msg = append(msg, inner.Error()...)
 | 
			
		||||
			msg = append(msg, '\n')
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	http.Error(responsewriter, string(msg), statuscode)
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue