data pipeline 개발

This commit is contained in:
logonkhi
2025-06-05 20:09:28 +09:00
parent ef11fd4a14
commit 4db2791486
108 changed files with 62831 additions and 294 deletions

View File

@@ -0,0 +1,54 @@
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using UVC.Network;
namespace UVC.Data
{
public class HttpPipeLine
{
private Dictionary<string, HttpPipeLineInfo> infoList = new Dictionary<string, HttpPipeLineInfo>();
public void Add(string key, HttpPipeLineInfo info)
{
if (!infoList.ContainsKey(key))
{
infoList.Add(key, info);
}
else
{
infoList[key] = info; // Update existing entry
}
}
public void Remove(string key)
{
if (infoList.ContainsKey(key))
{
infoList.Remove(key);
}
}
public async void Excute(string key)
{
if (infoList.ContainsKey(key))
{
HttpPipeLineInfo info = infoList[key];
string result = await HttpRequester.Request<string>(info.url, info.method, info.body, info.headers);
JObject jsonResult = JObject.Parse(result);
DataObject dataObject = new DataObject(jsonResult);
if (info.dataMapper != null)
{
dataObject = info.dataMapper.Map(jsonResult);
}
DataRepository.Instance.AddData(key, dataObject);
if (info.handler != null)
{
info.handler(dataObject);
}
}
}
}
}