in processing-pipelines/image-v2/filter/csharp/Startup.cs [34:89]
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILogger<Startup> logger)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
logger.LogInformation("Service is starting...");
app.UseRouting();
var eventReader = new CloudEventReader(logger);
var configReader = new ConfigReader(logger);
var projectId = configReader.Read("PROJECT_ID");
var region = configReader.Read("REGION");
var workflow = configReader.Read("WORKFLOW_NAME");
var labelerUrl = configReader.Read("LABELER_URL");
var resizerUrl = configReader.Read("RESIZER_URL");
var watermarkerUrl = configReader.Read("WATERMARKER_URL");
app.UseEndpoints(endpoints =>
{
endpoints.MapPost("/", async context =>
{
var (bucket, file) = await eventReader.ReadCloudStorageData(context);
var storageUrl = $"gs://{bucket}/{file}";
logger.LogInformation($"Storage url: {storageUrl}");
var safe = await IsPictureSafe(storageUrl);
logger.LogInformation($"Is the picture safe? {safe}");
if (!safe)
{
return;
}
var args = JsonConvert.SerializeObject(new {
bucket = bucket,
file = file,
urls = new {
LABELER_URL = labelerUrl,
RESIZER_URL = resizerUrl,
WATERMARKER_URL = watermarkerUrl}
}
);
logger.LogInformation($"Creating workflows execution with arg: {args}");
var response = await ExecuteWorkflow(projectId, region, workflow, args);
logger.LogInformation($"Created workflows execution: {response.Name}");
});
});
}