using Asp.Versioning; using Microsoft.AspNetCore.Mvc; using System.Net.Mime; using System.Text.Json; #pragma warning disable CS1591 // Missing XML comment for publicly visible type or member namespace Sufi.Demo.PeopleDirectory.UI.Server.Controllers.v1 { [ApiVersion(1.0)] public class BeaconController : BaseApiController { [HttpGet] [HttpPost] public async Task Index() { var beaconData = new Dictionary(); if (Request.Method == "GET") { foreach (var param in Request.Query) { beaconData[param.Key] = param.Value.ToString(); } } else if (Request.Method == "POST") { var contentType = Request.ContentType?.ToLower(); if (contentType?.Contains(MediaTypeNames.Application.Json) == true) { using var reader = new StreamReader(Request.Body); var body = await reader.ReadToEndAsync(); var jsonData = JsonSerializer.Deserialize>(body)!; foreach (var kvp in jsonData) { beaconData[kvp.Key] = kvp.Value.ToString(); } } else if (contentType?.Contains(MediaTypeNames.Application.FormUrlEncoded) == true) { var form = await Request.ReadFormAsync(); foreach (var kvp in form) { beaconData[kvp.Key] = kvp.Value.ToString(); } } } return Ok(); } } }