improved error message handling in hcl server
This commit is contained in:
		| @ -1591,6 +1591,15 @@ static int execute_script (hcl_server_proto_t* proto, const hcl_bch_t* trigger) | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | static void send_error_message (hcl_server_proto_t* proto, const hcl_bch_t* errmsg) | ||||||
|  | { | ||||||
|  | 	hcl_server_proto_start_reply (proto); | ||||||
|  | 	if (hcl_server_proto_end_reply(proto, errmsg) <= -1) | ||||||
|  | 	{ | ||||||
|  | 		HCL_LOG1 (proto->hcl, SERVER_LOGMASK_ERROR, "Unable to send error message - %s\n", errmsg); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| static void show_server_workers (hcl_server_proto_t* proto) | static void show_server_workers (hcl_server_proto_t* proto) | ||||||
| { | { | ||||||
| 	hcl_server_t* server; | 	hcl_server_t* server; | ||||||
| @ -1746,6 +1755,7 @@ int hcl_server_proto_handle_request (hcl_server_proto_t* proto) | |||||||
| 			obj = hcl_read(proto->hcl); | 			obj = hcl_read(proto->hcl); | ||||||
| 			if (!obj) | 			if (!obj) | ||||||
| 			{ | 			{ | ||||||
|  | 				send_error_message (proto, hcl_geterrmsg(proto->hcl)); | ||||||
| 				HCL_LOG1 (proto->hcl, SERVER_LOGMASK_ERROR, "Unable to read .SCRIPT contents - %js\n", hcl_geterrmsg(proto->hcl)); | 				HCL_LOG1 (proto->hcl, SERVER_LOGMASK_ERROR, "Unable to read .SCRIPT contents - %js\n", hcl_geterrmsg(proto->hcl)); | ||||||
| 				return -1; | 				return -1; | ||||||
| 			} | 			} | ||||||
| @ -1753,6 +1763,7 @@ int hcl_server_proto_handle_request (hcl_server_proto_t* proto) | |||||||
| 			if (get_token(proto) <= -1) return -1; | 			if (get_token(proto) <= -1) return -1; | ||||||
| 			if (proto->tok.type != HCL_SERVER_PROTO_TOKEN_NL) | 			if (proto->tok.type != HCL_SERVER_PROTO_TOKEN_NL) | ||||||
| 			{ | 			{ | ||||||
|  | 				send_error_message (proto, "No new line after .SCRIPT contents"); | ||||||
| 				HCL_LOG0 (proto->hcl, SERVER_LOGMASK_ERROR, "No new line after .SCRIPT contents\n"); | 				HCL_LOG0 (proto->hcl, SERVER_LOGMASK_ERROR, "No new line after .SCRIPT contents\n"); | ||||||
| 				return -1; | 				return -1; | ||||||
| 			} | 			} | ||||||
| @ -1760,6 +1771,7 @@ int hcl_server_proto_handle_request (hcl_server_proto_t* proto) | |||||||
| 			proto->worker->opstate = HCL_SERVER_WORKER_OPSTATE_COMPILE; | 			proto->worker->opstate = HCL_SERVER_WORKER_OPSTATE_COMPILE; | ||||||
| 			if (hcl_compile(proto->hcl, obj) <= -1) | 			if (hcl_compile(proto->hcl, obj) <= -1) | ||||||
| 			{ | 			{ | ||||||
|  | 				send_error_message (proto, hcl_geterrmsg(proto->hcl)); | ||||||
| 				HCL_LOG1 (proto->hcl, SERVER_LOGMASK_ERROR, "Unable to compile .SCRIPT contents - %js\n", hcl_geterrmsg(proto->hcl)); | 				HCL_LOG1 (proto->hcl, SERVER_LOGMASK_ERROR, "Unable to compile .SCRIPT contents - %js\n", hcl_geterrmsg(proto->hcl)); | ||||||
| 				return -1; | 				return -1; | ||||||
| 			} | 			} | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user