import Base.write write(c::Connection, data::Vector{UInt8}) = OpenSSL.write(c.client, data) function write(conn::Connection, s::Status) write(conn.client, string(s.major, s.minor, ' ', s.meta, '\r', '\n')) end function write(conn::Connection, r::Response) write(conn, r.status) write(conn.client, r.body) end status(conn::Connection, s...) = write(conn, Status(s...)) not_found(conn::Connection, meta = "Not Found") = status(conn, 51, meta) document(conn::Connection, body) = write(conn, Response(Status(20, "text/gemini"), body)) link(dst, name = dst) = string("=> ", dst, " ", name)