feat(http): implement HttpFormat::Raw decoder in HttpSource#7
Open
mibrohimsulaeman-a11y wants to merge 1 commit into
Open
feat(http): implement HttpFormat::Raw decoder in HttpSource#7mibrohimsulaeman-a11y wants to merge 1 commit into
mibrohimsulaeman-a11y wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tujuan / Goal
Mengimplementasikan
HttpFormat::Rawdicrates/vil_new_http/src/source.rs(~line 710) yang sebelumnya hanyaeprintln!(\"...Raw decoder not implemented yet\"). / Implement the previously stubbedHttpFormat::Rawdecoder.Perubahan / Change
Raw membaca seluruh body respons (non-streaming) lewat
response.bytes().awaitlalu meng-emit satu pesan. Alur emit identik dengan jalur NDJSON yang sudah ada:json_tapopsional ->apply_json_taptransform_fnopsionalT::from_ndjson_line_shm(..)keout_portError path: bila gagal baca body ->
ControlSignal::error(session_id, 502, \"Body Read Failed\")kectrl_out_port(konsisten dengan SSE/NDJSON), lalu early return. Setelah sukses, fungsi jatuh ke blokControlSignal::doneyang sudah ada.Reuse helper & trait yang sudah ada (
apply_json_tap,from_ndjson_line_shm,ControlSignal); tidak menambah dependency, tidak mengubah API publik.Scope
Hanya
crates/vil_new_http.Catatan / Notes
Bagian endpoint observer (
/_vil/api/shm,/logs/recent) dari task yang sama tidak disertakan: implementasi nyata butuh handle keExchangeHeap/RegionManagerdan retained-log buffer yang dimiliki/di-wire divil_server_core(di luar scope 2 crate), bukan sekadar edit divil_observer. Diajukan terpisah / perlu desain lintas-crate. Validasi via GitHub CI.