ErrorHandler¶
By default, a HTTP code 500 error is returned if any error occurred.
You can customize this behavior via ErrorHandler:
func (i *ServiceInitializer) InitService(s turbo.Servable) error {
+ s.RegisterComponent("errorHandler", errorHandler)
}
+var errorHandler turbo.ErrorHandlerFunc = func (resp http.ResponseWriter, req *http.Request, err error) {
+ resp.Write([]byte("from errorHandler:" + err.Error()))
+}
Edit “yourservice/service.yaml”:
+errorhandler: errorHandler
Restart and test(Modify “SayHello” to make it return an error):
$ curl -w "\n" "http://localhost:8081/hello?your_name=zx"
from errorHandler:rpc error: code = Unknown desc = error!