playback 버그 수정
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#nullable enable
|
||||
#nullable enable
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -18,19 +18,19 @@ namespace UVC.Data.Http
|
||||
/// <example>
|
||||
/// <code>
|
||||
/// var config = new HttpRequestConfig("https://api.example.com/data", "GET")
|
||||
/// .setDataMapper(new DataMapper(dataMask))
|
||||
/// .setSuccessHandler(data => Console.WriteLine(data)) // 성공 핸들러 예시
|
||||
/// .setFailHandler(errorData => Console.Error.WriteLine(errorData)) // 실패 핸들러 예시
|
||||
/// .setRetry(5, 2000)
|
||||
/// .setRepeat(true, 10, 5000);
|
||||
/// .SetDataMapper(new DataMapper(dataMask))
|
||||
/// .SetSuccessHandler(data => Console.WriteLine(data)) // 성공 핸들러 예시
|
||||
/// .SetFailHandler(errorData => Console.Error.WriteLine(errorData)) // 실패 핸들러 예시
|
||||
/// .SetRetry(5, 2000)
|
||||
/// .SetRepeat(true, 10, 5000);
|
||||
///
|
||||
/// // 응답을 키별로 분할하는 설정
|
||||
/// // 응답이 {"AGV": [...], "ALARM": [...]} 형태일 때 사용
|
||||
/// var splitConfig = new HttpRequestConfig("https://api.example.com/alldata")
|
||||
/// .setSplitResponseByKey(true) // 이 옵션을 활성화
|
||||
/// .SetSplitResponseByKey(true) // 이 옵션을 활성화
|
||||
/// .AddSplitConfig("AGV", new DataMapper(agvMask), agvValidator)
|
||||
/// .AddSplitConfig("ALARM", new DataMapper(alarmMask))
|
||||
/// .setSuccessHandler(splitData => {
|
||||
/// .SetSuccessHandler(splitData => {
|
||||
/// // HttpDataFetcher 구현에 따라, 분할된 각 데이터가 처리된 후 이 핸들러가 호출될 수 있습니다.
|
||||
/// // 이 경우 핸들러의 IDataObject는 null일 수 있습니다.
|
||||
/// Console.WriteLine("Split data processing completed.");
|
||||
@@ -204,7 +204,7 @@ namespace UVC.Data.Http
|
||||
/// </summary>
|
||||
/// <param name="dataMapper">사용할 데이터 매퍼 객체</param>
|
||||
/// <returns>현재 HttpRequestConfig 인스턴스 (메서드 체이닝용)</returns>
|
||||
public HttpRequestConfig setDataMapper(DataMapper dataMapper)
|
||||
public HttpRequestConfig SetDataMapper(DataMapper dataMapper)
|
||||
{
|
||||
_dataMapper = dataMapper;
|
||||
return this;
|
||||
@@ -242,18 +242,18 @@ namespace UVC.Data.Http
|
||||
///
|
||||
/// // 3. 검사기를 HTTP 파이프라인에 설정
|
||||
/// var pipelineInfo = new HttpRequestConfig("https://api.example.com/users", "get")
|
||||
/// .setDataMapper(userDataMapper)
|
||||
/// .setValidator(validator)
|
||||
/// .setSuccessHandler(userData => {
|
||||
/// .SetDataMapper(userDataMapper)
|
||||
/// .SetValidator(validator)
|
||||
/// .SetSuccessHandler(userData => {
|
||||
/// // 여기에 도달하는 사용자 데이터는 모두 이메일이 유효하고 18세 이상입니다.
|
||||
/// Console.WriteLine($"유효한 사용자: {userData["name"]}, {userData["email"]}");
|
||||
/// })
|
||||
/// .setFailHandler(errorMsg => {
|
||||
/// .SetFailHandler(errorMsg => {
|
||||
/// Console.WriteLine($"요청 실패: {errorMsg}");
|
||||
/// });
|
||||
/// </code>
|
||||
/// </example>
|
||||
public HttpRequestConfig setValidator(DataValidator validator)
|
||||
public HttpRequestConfig SetValidator(DataValidator validator)
|
||||
{
|
||||
this._validator = validator;
|
||||
return this;
|
||||
@@ -281,7 +281,7 @@ namespace UVC.Data.Http
|
||||
/// </summary>
|
||||
/// <param name="responseMask">HTTP response에 적용할 <see cref="HttpResponseMask"/>입니다.</param>
|
||||
/// <returns>지정된 response 마스크가 적용된 업데이트된 <see cref="HttpRequestConfig"/> 인스턴스입니다.</returns>
|
||||
public HttpRequestConfig setResponseMask(HttpResponseMask responseMask)
|
||||
public HttpRequestConfig SetResponseMask(HttpResponseMask responseMask)
|
||||
{
|
||||
_responseMask = responseMask;
|
||||
return this;
|
||||
@@ -294,7 +294,7 @@ namespace UVC.Data.Http
|
||||
/// </summary>
|
||||
/// <param name="handler">응답 데이터를 처리할 콜백 함수</param>
|
||||
/// <returns>현재 HttpRequestConfig 인스턴스 (메서드 체이닝용)</returns>
|
||||
public HttpRequestConfig setSuccessHandler(Action<IDataObject?>? handler)
|
||||
public HttpRequestConfig SetSuccessHandler(Action<IDataObject?>? handler)
|
||||
{
|
||||
_successhandler = handler;
|
||||
return this;
|
||||
@@ -306,7 +306,7 @@ namespace UVC.Data.Http
|
||||
/// </summary>
|
||||
/// <param name="handler">실패 정보를 처리할 콜백 함수입니다. 실패 시 관련 데이터를 인자로 받습니다.</param>
|
||||
/// <returns>현재 HttpRequestConfig 인스턴스 (메서드 체이닝용)</returns>
|
||||
public HttpRequestConfig setFailHandler(Action<string>? handler)
|
||||
public HttpRequestConfig SetFailHandler(Action<string>? handler)
|
||||
{
|
||||
_failhandler = handler;
|
||||
return this;
|
||||
@@ -318,7 +318,7 @@ namespace UVC.Data.Http
|
||||
/// <param name="maxRetryCount">최대 재시도 횟수 (기본값: 3)</param>
|
||||
/// <param name="retryDelay">재시도 간 대기 시간(밀리초) (기본값: 1000)</param>
|
||||
/// <returns>현재 HttpRequestConfig 인스턴스 (메서드 체이닝용)</returns>
|
||||
public HttpRequestConfig setRetry(int maxRetryCount = 3, int retryDelay = 1000)
|
||||
public HttpRequestConfig SetRetry(int maxRetryCount = 3, int retryDelay = 1000)
|
||||
{
|
||||
_maxRetryCount = maxRetryCount;
|
||||
_retryDelay = retryDelay;
|
||||
@@ -341,16 +341,16 @@ namespace UVC.Data.Http
|
||||
/// <code>
|
||||
/// // 5초마다 10번 반복 요청, 변경된 데이터만 처리
|
||||
/// var pipelineInfo = new HttpRequestConfig("https://api.example.com/data", "GET")
|
||||
/// .setHandler(data => ProcessData(data))
|
||||
/// .setRepeat(true, 10, 5000, true);
|
||||
/// .SetHandler(data => ProcessData(data))
|
||||
/// .SetRepeat(true, 10, 5000, true);
|
||||
///
|
||||
/// // 3초마다 무한 반복, 모든 응답 데이터 처리
|
||||
/// var pipelineInfo = new HttpRequestConfig("https://api.example.com/status", "GET")
|
||||
/// .setHandler(data => UpdateStatus(data))
|
||||
/// .setRepeat(true, 0, 3000, false);
|
||||
/// .SetHandler(data => UpdateStatus(data))
|
||||
/// .SetRepeat(true, 0, 3000, false);
|
||||
/// </code>
|
||||
/// </example>
|
||||
public HttpRequestConfig setRepeat(bool repeat, int count = 0, int interval = 1000, bool updatedDataOnly = true)
|
||||
public HttpRequestConfig SetRepeat(bool repeat, int count = 0, int interval = 1000, bool updatedDataOnly = true)
|
||||
{
|
||||
_repeat = repeat;
|
||||
_repeatCount = count;
|
||||
@@ -366,11 +366,20 @@ namespace UVC.Data.Http
|
||||
/// </summary>
|
||||
/// <param name="split">분할 처리 여부</param>
|
||||
/// <returns>현재 HttpRequestConfig 인스턴스 (메서드 체이닝용)</returns>
|
||||
public HttpRequestConfig setSplitResponseByKey(bool split)
|
||||
public HttpRequestConfig SetSplitResponseByKey(bool split)
|
||||
{
|
||||
_splitResponseByKey = split;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 업데이트된 데이터만 처리할지 여부를 나타내는 값을 설정합니다.
|
||||
/// </summary>
|
||||
/// <param name="v">부울 값. <see langword="true"/>는 업데이트된 데이터만 처리하도록 지정합니다. 그렇지 않으면
|
||||
/// <see langword="false"/>입니다.</param>
|
||||
public void SetUpdatedDataOnly(bool v)
|
||||
{
|
||||
_updatedDataOnly = v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user