27 lines
902 B
Zig
27 lines
902 B
Zig
const std = @import("std");
|
|
const SocketConf = @import("config.zig");
|
|
const Request = @import("request.zig");
|
|
const Method = Request.Method;
|
|
const Response = @import("response.zig");
|
|
|
|
pub fn main() !void {
|
|
const stdout = std.io.getStdOut().writer();
|
|
const socket = try SocketConf.Socket.init();
|
|
try stdout.print("Server address: {any}\n", .{socket._address});
|
|
var server = try socket._address.listen(.{});
|
|
const connection = try server.accept();
|
|
var buffer: [1000]u8 = undefined;
|
|
for (0..buffer.len) |i| {
|
|
buffer[i] = 0;
|
|
}
|
|
_ = try Request.read_request(connection, buffer[0..buffer.len]);
|
|
const request = Request.parse_request(&buffer);
|
|
if (request.method == Method.GET) {
|
|
if (std.mem.eql(u8, request.uri, "/")) {
|
|
try Response.send_200(connection);
|
|
} else {
|
|
try Response.send_404(connection);
|
|
}
|
|
}
|
|
}
|