Skip to content

Add net module (v0.8.0)#94

Merged
codegresscom merged 1 commit intomainfrom
feat/46-55-net-module
Apr 21, 2026
Merged

Add net module (v0.8.0)#94
codegresscom merged 1 commit intomainfrom
feat/46-55-net-module

Conversation

@vhrcgcom
Copy link
Copy Markdown
Collaborator

Summary

  • Url — validated URL (http/https/ftp/ftps/ws/wss), scheme+host normalised to lowercase
  • Domain — domain without scheme, lowercased, at least two labels
  • IpV4Address — IPv4, rejects leading zeros in octets
  • IpV6Address — IPv6, normalised to canonical compressed lowercase form
  • IpAddress — IPv4 or IPv6, tries v4 first
  • Portu16 in range 1–65535
  • MacAddress — accepts colon/hyphen/dotted formats, stored as lowercase colon-separated
  • MimeTypetype/subtype, lowercased, parameters accepted
  • HttpStatusCodeu16 in range 100–599, with is_success() etc. helpers
  • ApiKey — non-empty; Display masks all but last 4 chars

Extra dep: url (already used by contact).

Closes #46
Closes #47
Closes #48
Closes #49
Closes #50
Closes #51
Closes #52
Closes #53
Closes #54
Closes #55

Type of change

  • New value object / feature

Checklist

  • ValueObject trait (new / value / into_inner)
  • TryFrom<&str> where applicable
  • Display
  • serde cfg_attr
  • Tests (83 passing)
  • cargo fmt + clippy clean
  • ROADMAP.md updated
  • README.md updated
  • docs/net.md added

Url, Domain, IpV4Address, IpV6Address, IpAddress, Port, MacAddress,
MimeType, HttpStatusCode, ApiKey.

Closes #46
Closes #47
Closes #48
Closes #49
Closes #50
Closes #51
Closes #52
Closes #53
Closes #54
Closes #55
@codegresscom codegresscom merged commit 8a90913 into main Apr 21, 2026
14 checks passed
@codegresscom codegresscom deleted the feat/46-55-net-module branch April 21, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants