跳到主要内容

HttpEtagUnreadableReport

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:278

「条件请求开着,却读不到 ETag」这一刻的事实(US-215)。

Remarks​

字段全是观测值,没有结论:客户端分不清读不到 ETag 的两种成因——远端根本没发, 或远端发了而跨源响应没把它列进 Access-Control-Expose-Headers——二者在 response.headers.get('etag') === null 上完全重合。替调用方猜一个,在猜错的那一半 情况下会把人送去改一个本来就对的服务端。

Properties​

entityName?​

optional entityName?: string;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:288

实体名。

Remarks​

可选只是因为 transport 的 sendJson 对所有操作共用一个签名,而 version 这类 操作没有实体。实际触发本回调的两个操作都由实体驱动,所以这里恒有值。


message​

message: string;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:300

现成的说明文案:两种成因都点到,且不选边


operation​

operation: string;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:280

触发的操作名;参与条件缓存的只有 fetchMetadata / findByIds 两个


responseType​

responseType: HttpResponseType;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:298

Response.type 原样透出,不作判定。

Remarks​

浏览器里跨源响应是 'cors'、同源是 'basic',可作线索。Node(undici)下手工构造的 Response 恒为 'default',所以这是线索而非判据——判断留给拿得到部署拓扑的调用方。


url​

url: string;

Defined in: packages/rxdb-adapter-http/src/http.interface.ts:290

发出该请求的绝对 URL