• exec/load/http.js

    From Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Sun May 7 18:11:16 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/088b87a4b8c8e2e43a88af2d
    Modified Files:
    exec/load/http.js
    Log Message:
    Support recv_timeout argument to HTTPRequest constructor, default: 60 (seconds)

    Use this time-out value for calls to recv() and recvline() rather than a mix of default and hard-coded values. If unspecified, uses a default of 60 seconds.

    This fixes issue #562
  • From echicken to Git commit to main/sbbs/master on Fri Nov 24 06:15:20 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/02bc1bb84255e04f94849fb1
    Modified Files:
    exec/load/http.js
    Log Message:
    Normalize parsed_headers keys to lowercase.

    Fixes #675 (probably).
  • From echicken to Git commit to main/sbbs/master on Fri Nov 24 07:28:39 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b41d1226f147cb93842af56d
    Modified Files:
    exec/load/http.js
    Log Message:
    Keep original header name alongside normalized for now. We should probably switch to using a method to read these values and do normalization there.
  • From echicken to Git commit to main/sbbs/master on Fri Nov 24 07:32:22 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f25e8e59f6b1bf4bc5f635f7
    Modified Files:
    exec/load/http.js
    Log Message:
    Normalized header name may already match what we received.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Thu May 28 01:25:55 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/25b5c0296eab69d9c1f4141b
    Modified Files:
    exec/load/http.js
    Log Message:
    http.js: add PostStreaming() for HTTP/1.1 chunked-transfer responses

    Adds three methods to HTTPRequest:
    - SetupPostStreaming() -- like Post()'s setup but HTTP/1.1 and no
    automatic body collection
    - ReadChunkedBody(on_chunk) -- reads chunked-transfer-encoded body,
    invokes on_chunk(text) per chunk
    - PostStreaming(url, data, on_chunk, ...) -- POST + streamed read;
    returns the full accumulated body after the stream completes.

    Falls back gracefully if the server returns non-chunked Content-Length
    (single on_chunk call with the whole body).

    Needed by exec/chat_llm.js for streaming Ollama responses (SSE / chunked transfer) in the LLM-chat module. Purely additive -- existing Post() /
    Get() behavior unchanged.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>