32 ApiResponseStatus status;
34 if( !aMsg.has_message() )
36 status.set_status( ApiStatusCode::AS_BAD_REQUEST );
37 status.set_error_message(
"request has no inner message" );
38 return tl::unexpected( status );
43 if( !google::protobuf::Any::ParseAnyTypeUrl( aMsg.message().type_url(), &typeName ) )
45 status.set_status( ApiStatusCode::AS_BAD_REQUEST );
46 status.set_error_message(
"could not parse inner message type" );
47 return tl::unexpected( status );
55 return handler( aMsg );
58 status.set_status( ApiStatusCode::AS_UNHANDLED );
60 return tl::unexpected( status );