Marble.js - functional reactive Node.js framework for building server-side applications, based on TypeScript and RxJS.
ackMessage
/ nackMesage
in case of redis strategy, the listener doesn't return an errored event, instead only a respective error log, so that the related effect can run without any disturbance"fp-ts": "~2.13.0"
and "io-ts": "2.2.19"
Finally!
👉 Please check out the guide for smooth migration from version 3.x to 4.x.
Before you'll read
rxjs v7.1
typescript v4.3
io-ts
deprecation warningsHttpOutputEffect
's and HttpErrorEffect
's are resolved eagerly during initial bootstrapEffectFactory
switchToProtocol
operatorX-Testing-Request-Id
metadata header name from to X-Request-Metadata-Id
MARBLE_TESTING_METADATA_ON
env variable name to MARBLE_HTTP_REQUEST_METADATA
MARBLE_HTTP_HEADERS_NORMALIZATION
environment variable is set to false (resolves: #311)Content-Type
header is automatically guessed and provided only when it is not directly provided by the user (same in case of Content-Length
header)send
/handleResponse
function are evaluated lazily, which means that they will send the HTTP response only when the stream is subscribedHttpResponse.send
method returns Observable<boolean>
instead of an Observable<never>
HttpOutputEffect
interface changeHttpErrorEffect
interface changeHTTP effect I/O flow after the change (see: #357):
1. HttpMiddlewareEffect
Observable<req> -> Observable<req>
2. HttpEffect
Observable<req> -> Observable<{ status, body, headers }>
Observable<req> -> Observable<{ status, body, headers, response }>
3. HttpOutputEffect ## 👇
Observable<{ status, body, headers, request }> -> Observable<{ status, body, headers, request }>
4. HttpErrorEffect ## 👇
Observable<{ error, request }> -> Observable<{ status, body, headers, request }>
connection$
attributeemitEvent
and broadcastEvent
functions