The URL features extension package is written in Zig.
Adding to build.zig
consturl=b.dependency("url", .{
.target=target,
.optimize=optimize,
});
exe.root_module.addImport("url", url.module("url"));Import it in your code:
constURL=@import("url");varurl=URL.init(.{});
consttext="http://example.com/path?query=1&query2=2";
constresult=url.parse(text) catchreturn;
trytesting.expectEqualStrings("http", result.scheme());
trytesting.expectEqualStrings(
"example.com",
result.host(),
);
trytesting.expectEqualStrings(
"/path",
result.path(),
);
trytesting.expectEqualStrings("query=1&query2=2", result.query());
varquerymap=result.queryMap();
trytesting.expectEqualStrings("1", querymap.get("query").?);
trytesting.expectEqualStrings("2", querymap.get("query2").?);
if (querymap.get("query3") !=null) {
trytesting.expect(false);
}