Format imported xhttp extra (#8390)

This commit is contained in:
DHR60 2025-11-26 14:31:14 +08:00 committed by GitHub
parent 9ffa6a4eb6
commit 23cacb8339
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -118,22 +118,15 @@ public class BaseFmt
} }
if (item.Extra.IsNotEmpty()) if (item.Extra.IsNotEmpty())
{ {
var extra = item.Extra; var node = JsonUtils.ParseJson(item.Extra);
try var extra = node != null
{ ? JsonUtils.Serialize(node, new JsonSerializerOptions
var node = JsonNode.Parse(item.Extra);
if (node != null)
{
extra = node.ToJsonString(new JsonSerializerOptions
{ {
WriteIndented = false, WriteIndented = false,
DefaultIgnoreCondition = JsonIgnoreCondition.Never,
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
}); })
} : item.Extra;
}
catch
{
}
dicQuery.Add("extra", Utils.UrlEncode(extra)); dicQuery.Add("extra", Utils.UrlEncode(extra));
} }
break; break;
@ -253,7 +246,21 @@ public class BaseFmt
item.RequestHost = GetQueryDecoded(query, "host"); item.RequestHost = GetQueryDecoded(query, "host");
item.Path = GetQueryDecoded(query, "path", "/"); item.Path = GetQueryDecoded(query, "path", "/");
item.HeaderType = GetQueryDecoded(query, "mode"); item.HeaderType = GetQueryDecoded(query, "mode");
item.Extra = GetQueryDecoded(query, "extra"); var extraDecoded = GetQueryDecoded(query, "extra");
if (extraDecoded.IsNotEmpty())
{
var node = JsonUtils.ParseJson(extraDecoded);
if (node != null)
{
extraDecoded = JsonUtils.Serialize(node, new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = JsonIgnoreCondition.Never,
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
});
}
}
item.Extra = extraDecoded;
break; break;
case nameof(ETransport.http): case nameof(ETransport.http):