//https://backend.cloud-eng.nl/api/echo-headers
using System.Net;
using System.Text;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;

public static async Task<IActionResult> Run(HttpRequestMessage req, ILogger log){
    log.LogInformation("Function triggered");
    return new OkObjectResult(GetRequestHeaders(req));
}

private static string GetRequestHeaders(HttpRequestMessage request){
  var sb = new StringBuilder();
  foreach(var header in request.Headers){
    PrintHeader(header.Key, request, sb);
  }

  return sb.ToString();
}

private static void PrintHeader(string header, HttpRequestMessage request, StringBuilder sb){
  if (request.Headers.TryGetValues(header, out var values)){
    foreach(var val in values){
      sb.AppendLine($"{header}={val}");
    }
  }
}