/** * Copyright © Yurai Web Framework 2021 * License: MIT (https://github.com/YuraiWeb/yurai/blob/main/LICENSE) * Author: Jacob Jensen (bausshf) */ module yurai.controllers.controlleraction; import yurai.controllers.status; public final class ControllerAction { private: Status delegate() _delegate; Status function() _functionPointer; public: final: this(Status delegate() d) { _delegate = d; } this(Status function() f) { _functionPointer = f; } Status opCall() { if (_delegate) { return _delegate(); } else if (_functionPointer) { return _functionPointer(); } return Status.notFound; } }