diff --git a/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpAction.cs b/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpAction.cs index b98e5b32..20b6c3d5 100644 --- a/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpAction.cs +++ b/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpAction.cs @@ -97,7 +97,7 @@ await context.SetVariableAsync(settings.ResponseStatusVariable, if (!string.IsNullOrWhiteSpace(settings.ResponseBodyVariable) && !string.IsNullOrWhiteSpace(responseBody)) { - await context.SetVariableAsync(settings.ResponseBodyVariable, responseBody, cancellationToken); + await context.SetVariableAsync(settings.ResponseBodyVariable, responseBody, cancellationToken, settings.ProccesHttpTimeToLive); } if (!isSuccessStatusCode) @@ -143,7 +143,7 @@ private void PushStatusCodeWarning(IContext context, int statusCode) } /// - /// Add 'X-Blip-User' header to request, with current user identity as its value, if there is + /// Add 'X-Blip-User' header to request, with current user identity as its value, if there is /// a configuration variable 'processHttpAddUserToRequestHeader' set to true /// /// @@ -157,7 +157,7 @@ private void AddUserToHeaders(HttpRequestMessage httpRequestMessage, IContext co } /// - /// Add 'X-Blip-Bot' header to request with the Bot's name as its value, if there is + /// Add 'X-Blip-Bot' header to request with the Bot's name as its value, if there is /// a configuration variable 'processHttpAddBotIdentityToRequestHeader' set to true /// /// diff --git a/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpSettings.cs b/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpSettings.cs index 880a5eee..a1469ec1 100644 --- a/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpSettings.cs +++ b/src/Take.Blip.Builder/Actions/ProcessHttp/ProcessHttpSettings.cs @@ -5,24 +5,62 @@ namespace Take.Blip.Builder.Actions.ProcessHttp { + /// + /// Represents the settings required for processing an HTTP request. + /// public class ProcessHttpSettings : IValidable { + /// + /// Gets or sets the HTTP method (e.g., GET, POST). + /// public string Method { get; set; } + /// + /// Gets or sets the URI for the HTTP request. + /// public Uri Uri { get; set; } + /// + /// Gets or sets the headers for the HTTP request. + /// public Dictionary Headers { get; set; } + /// + /// Gets or sets the body of the HTTP request. + /// public string Body { get; set; } + /// + /// Gets or sets the variable to store the response body. + /// public string ResponseBodyVariable { get; set; } + /// + /// Gets or sets the variable to store the response status. + /// public string ResponseStatusVariable { get; set; } + /// + /// Gets or sets the timeout for the HTTP request. + /// public TimeSpan? RequestTimeout { get; set; } + /// + /// Gets or sets the current state ID. + /// public string currentStateId { get; set; } + /// + /// Gets or sets the time-to-live for the HTTP process. + /// + public TimeSpan ProccesHttpTimeToLive { get; set; } + + /// + /// Validates the settings to ensure required values are provided. + /// + /// + /// Thrown when a required setting value is missing. + /// public void Validate() { if (Uri == null)