Fix websocket url parameters not parsing variables (#281)

This commit is contained in:
Quentin Ross
2025-10-29 11:16:07 -04:00
committed by GitHub
parent f475b05c51
commit e8e0097e2d

View File

@@ -1,6 +1,6 @@
use crate::error::Result; use crate::error::Result;
use std::collections::BTreeMap; use std::collections::BTreeMap;
use yaak_models::models::{Environment, HttpRequestHeader, WebsocketRequest}; use yaak_models::models::{Environment, HttpRequestHeader, HttpUrlParameter, WebsocketRequest};
use yaak_models::render::make_vars_hashmap; use yaak_models::render::make_vars_hashmap;
use yaak_templates::{parse_and_render, render_json_value_raw, RenderOptions, TemplateCallback}; use yaak_templates::{parse_and_render, render_json_value_raw, RenderOptions, TemplateCallback};
@@ -12,6 +12,16 @@ pub async fn render_websocket_request<T: TemplateCallback>(
) -> Result<WebsocketRequest> { ) -> Result<WebsocketRequest> {
let vars = &make_vars_hashmap(environment_chain); let vars = &make_vars_hashmap(environment_chain);
let mut url_parameters = Vec::new();
for p in r.url_parameters.clone() {
url_parameters.push(HttpUrlParameter {
enabled: p.enabled,
name: parse_and_render(&p.name, vars, cb, opt).await?,
value: parse_and_render(&p.value, vars, cb, opt).await?,
id: p.id,
})
}
let mut headers = Vec::new(); let mut headers = Vec::new();
for p in r.headers.clone() { for p in r.headers.clone() {
headers.push(HttpRequestHeader { headers.push(HttpRequestHeader {
@@ -33,6 +43,7 @@ pub async fn render_websocket_request<T: TemplateCallback>(
Ok(WebsocketRequest { Ok(WebsocketRequest {
url, url,
url_parameters,
headers, headers,
authentication, authentication,
message, message,