Skip to content

P2.2: extract provisioning HTTP boundary - #3

Merged
MichalMatu merged 6 commits into
mainfrom
portfolio/p2-http-boundary-20260827
Aug 27, 2026
Merged

P2.2: extract provisioning HTTP boundary#3
MichalMatu merged 6 commits into
mainfrom
portfolio/p2-http-boundary-20260827

Conversation

@MichalMatu

Copy link
Copy Markdown
Owner

Summary

  • move generic provisioning HTTP/JSON plumbing out of manual_config.c into provisioning_http.c/.h
  • centralize JSON escaping, typed fields, action responses, profile-list responses and profile error responses
  • centralize bounded HTTP form-body reads plus config/LED values, Wi-Fi credentials and profile-index extraction
  • keep manual_config.c focused on runtime orchestration, Wi-Fi/scan state and endpoint behavior
  • document the P2.2 boundary while leaving P2.3 resource/dependency gates separate

Scope guardrails

This PR does not change endpoint paths or intended JSON schemas. It does not redesign USB NCM, Wi-Fi lifecycle, scan lifecycle, NVS/profile persistence, captive portal behavior or the frontend.

P2.1's strict malformed-form policy remains in force, including rejection of encoded NUL. P2.2 only moves HTTP I/O and presentation responsibilities across a clearer module boundary.

Verification contract

  • full ESP32-S2 pio run
  • both strict host C policy suites
  • frontend checks/build
  • cppcheck
  • markdownlint

@MichalMatu
MichalMatu merged commit 34e37da into main Aug 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant