Skip to content

cLazyZombie/web-browser-engineering-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Browser Engineering in Rust

A Rust implementation of the Web Browser Engineering book.

Overview

This project is a learning exercise to implement a web browser from scratch using Rust, following the concepts and techniques from the "Web Browser Engineering" book by Pavel Panchekha and Chris Harrelson.

Features

Currently implemented:

  • URL parsing (scheme, host, port, path)
  • Basic TCP socket connections
  • Strong type safety with newtype patterns

Development

This project follows Test-Driven Development (TDD) with strict quality requirements:

  • Minimum 50% test coverage (currently at 89%!)
  • All tests must pass before committing
  • Clippy linting with strict warnings

Build

cargo build

Test

cargo test

Check Coverage

cargo tarpaulin --ignore-tests

Project Structure

src/
├── main.rs   # Entry point
├── lib.rs    # Library root
├── url.rs    # URL parsing
├── scheme.rs # URL scheme handling
├── host.rs   # Host type
├── port.rs   # Port type
└── path.rs   # Path type

License

This project is for educational purposes, implementing concepts from the Web Browser Engineering book.

About

A Rust implementation of the Web Browser Engineering book

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages