aboutcode-org / aboutcode-org/vulnerablecode

bulk_search API returns incomplete / partial data using Chunked Transfer Encoding

未关闭
#2,120 2 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
702
派生
328
平均合并
3 天 8 小时
30 天内合并 PR
3

描述

**Scenario**

Neither with `curl`, nor with `reqests` lib (Python) nor with `OkHttp` (Kotlin) it is possible
to get the complete data of the response, for package: `pkg:maven/com.google.guava/guava@19.0`.
It seems that the server attempts to use Chunked transfer encoding.

It reproduces for both, API v1 + v2.

Note: There are other packages, for which the problem does not happen.

**Reproduce with curl**

```
curl 'https://public.vulnerablecode.io/api/packages/bulk_search' \
-H 'Content-Type: application/json; charset=utf-8' \
--data '{"purls":["pkg:maven/com.google.guava/guava@19.0"]}'
```
gives

`curl: (18) transfer closed with 64255 bytes remaining to read`

**Reproduce with Python**

```
import requests

url = 'https://public.vulnerablecode.io/api/packages/bulk_search'
myobj = {
"purls": [
"pkg:maven/com.google.guava/guava@19.0"
]
}

x = requests.post(url, json = myobj, stream=False)

print(x.text)
```

gives:

`requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(97975 bytes read, 64255 more expected)', IncompleteRead(97975 bytes read, 64255 more expected))`

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。