// Controller's descriptor is defined in the configuration file
public class MyCloudFunction: CloudFunction
{
private MyController _controller;
public MyCloudFunction(): base("mygroup", "MyGroup")
{
_configPath = "./config.yaml";
_factories.Add(new MyFactory());
}
public override void SetReferences(IReferences references)
{
base.SetReferences(references);
this._controller = references.GetOneRequired<MyController>(new Descriptor("mygroup", "controller", "default", "controller", "*"));
}
private async Task Action(HttpContext context)
{
var parameters = await CloudFunctionRequestHelper.GetParametersAsync(context);
var name = parameters.GetAsStringWithDefault("name", "default name");
var result = await _controller.Greetings(name);
await HttpResponseSender.SendResultAsync(result);
}
protected override void Register()
{
RegisterAction("greetings", null, Action);
}
}