using Godot; using Godot.Collections; public struct HttpResult { public HttpRequest.Result Result { get; init; } public int Status { get; init; } public Dictionary Headers { get; init; } public string Body { get; init; } public HttpResult(Variant[] result) { Result = (HttpRequest.Result) result[0].AsInt64(); Status = result[1].AsInt32(); Headers = HeadersToDict(result[2].AsStringArray()); Body = result[3].AsByteArray().GetStringFromUtf8(); } private static Dictionary HeadersToDict(string[] headers) { Dictionary ret = new(); foreach (string s in headers) { string[] split = s.Split(":"); ret[split[0]] = split[1].StripEdges(); } return ret; } }