• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-py / 41604789791
95%

Build:
DEFAULT BRANCH: main
Ran 03 Nov 2026 08:38AM UTC
Jobs 36
Files 167
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Nov 2026 08:38AM UTC coverage: 95.341% (+0.03%) from 95.312%
41604789791

push

github

web-flow
fix(postgrest): read the Proxy-Status error code when an error response has no body (#1621)

## Summary

Errors from HEAD requests, such as `select("*", count=CountMethod.exact,
head=True)` with an invalid filter, now raise an `APIError` with the
real PostgREST error code. Before this change they raised a generic
`"JSON could not be generated"` error with details `"b''"`.

Closes #1584

## What changed

- `generate_default_error_message` handles responses with an empty body:
- `code` is read from the `error` parameter of the `PostgREST` member of
the `Proxy-Status` header (for example `Proxy-Status: PostgREST;
error=PGRST108`). It falls back to the HTTP status code as a string (for
example `"400"`), which matches the `Optional[str]` type of
`APIError.code`.
  - `message` is the HTTP reason phrase, for example `Bad Request`.
- `hint` and `details` are `None` instead of the stringified empty body.
- The `Proxy-Status` parsing follows RFC 9209:
- The header is split into one member per proxy, so errors reported by
other proxies (for example a CDN) are ignored, and the order of members
does not matter.
  - Repeated `Proxy-Status` header lines are handled.
- Quoted values are unwrapped, including backslash escapes, and `;` or
`,` inside quoted parameter values do not break parsing.
- Responses that have a body but fail JSON validation behave as before.
- Tests:
- Parametrized unit tests for unquoted and quoted error codes, escaped
quotes, multiple proxies in either order, repeated header lines, quoted
parameters containing separators, a header from another proxy only, an
empty `error` parameter, a `PostgREST` member without an `error`
parameter, and no header at all.
- An integration test that runs the HEAD query from #1584 against the
test PostgREST.
  - The sync tests are generated with `make postgrest.build-sync`.

## Why

A HEAD response never has a body, so the existing fallback had nothing
to parse. PostgREST reports the error code in the `Proxy-Stat... (continued)

12257 of 12856 relevant lines covered (95.34%)

5.91 hits per line

Coverage Regressions

Lines Coverage ∆ File
3
98.69
0.04% tests/_async/test_filter_request_builder_integration.py
3
98.69
0.04% tests/_sync/test_filter_request_builder_integration.py
1
92.41
7.41% src/postgrest/exceptions.py
Jobs
ID Job ID Ran Files Coverage
1 run-ubuntu-latest-3.11-auth - 41604789791.1 03 Nov 2026 08:39AM UTC 57
93.71
GitHub Action Run
2 run-ubuntu-latest-3.14-supabase - 41604789791.2 03 Nov 2026 08:38AM UTC 20
96.85
GitHub Action Run
3 run-ubuntu-latest-3.10-storage - 41604789791.3 03 Nov 2026 08:40AM UTC 40
94.75
GitHub Action Run
4 run-ubuntu-latest-3.12-auth - 41604789791.4 03 Nov 2026 08:39AM UTC 57
93.75
GitHub Action Run
5 run-ubuntu-latest-3.11-functions - 41604789791.5 03 Nov 2026 08:39AM UTC 18
97.31
GitHub Action Run
6 run-ubuntu-latest-3.10-postgrest - 41604789791.6 03 Nov 2026 08:39AM UTC 39
97.59
GitHub Action Run
7 run-ubuntu-latest-3.12-functions - 41604789791.7 03 Nov 2026 08:39AM UTC 18
97.31
GitHub Action Run
8 run-ubuntu-latest-3.12-storage - 41604789791.8 03 Nov 2026 08:40AM UTC 40
94.75
GitHub Action Run
9 run-ubuntu-latest-3.9-auth - 41604789791.9 03 Nov 2026 08:39AM UTC 57
93.65
GitHub Action Run
10 run-ubuntu-latest-3.11-supabase - 41604789791.10 03 Nov 2026 08:39AM UTC 20
96.86
GitHub Action Run
11 run-ubuntu-latest-3.13-supabase - 41604789791.11 03 Nov 2026 08:38AM UTC 20
96.86
GitHub Action Run
12 run-ubuntu-latest-3.9-storage - 41604789791.12 03 Nov 2026 08:40AM UTC 40
94.82
GitHub Action Run
13 run-ubuntu-latest-3.10-supabase - 41604789791.13 03 Nov 2026 08:39AM UTC 20
96.86
GitHub Action Run
14 run-ubuntu-latest-3.11-postgrest - 41604789791.14 03 Nov 2026 08:40AM UTC 39
97.59
GitHub Action Run
15 run-ubuntu-latest-3.11-storage - 41604789791.15 03 Nov 2026 08:40AM UTC 40
94.75
GitHub Action Run
16 run-ubuntu-latest-3.12-supabase - 41604789791.16 03 Nov 2026 08:39AM UTC 20
96.86
GitHub Action Run
17 run-ubuntu-latest-3.13-functions - 41604789791.17 03 Nov 2026 08:38AM UTC 18
97.31
GitHub Action Run
18 run-ubuntu-latest-3.10-functions - 41604789791.18 03 Nov 2026 08:38AM UTC 18
97.31
GitHub Action Run
19 run-ubuntu-latest-3.14-postgrest - 41604789791.19 03 Nov 2026 08:40AM UTC 39
97.59
GitHub Action Run
20 run-ubuntu-latest-3.9-functions - 41604789791.20 03 Nov 2026 08:38AM UTC 18
97.52
GitHub Action Run
21 run-ubuntu-latest-3.10-realtime - 41604789791.21 03 Nov 2026 08:40AM UTC 17
88.7
GitHub Action Run
22 run-ubuntu-latest-3.9-supabase - 41604789791.22 03 Nov 2026 08:39AM UTC 20
96.8
GitHub Action Run
23 run-ubuntu-latest-3.13-postgrest - 41604789791.23 03 Nov 2026 08:39AM UTC 39
97.59
GitHub Action Run
24 run-ubuntu-latest-3.9-postgrest - 41604789791.24 03 Nov 2026 08:40AM UTC 39
97.64
GitHub Action Run
25 run-ubuntu-latest-3.13-auth - 41604789791.25 03 Nov 2026 08:39AM UTC 57
93.75
GitHub Action Run
26 run-ubuntu-latest-3.13-storage - 41604789791.26 03 Nov 2026 08:40AM UTC 40
94.75
GitHub Action Run
27 run-ubuntu-latest-3.12-realtime - 41604789791.27 03 Nov 2026 08:40AM UTC 17
88.7
GitHub Action Run
28 run-ubuntu-latest-3.13-realtime - 41604789791.28 03 Nov 2026 08:40AM UTC 17
88.7
GitHub Action Run
29 run-ubuntu-latest-3.14-functions - 41604789791.29 03 Nov 2026 08:38AM UTC 18
97.31
GitHub Action Run
30 run-ubuntu-latest-3.14-storage - 41604789791.30 03 Nov 2026 08:40AM UTC 40
94.73
GitHub Action Run
31 run-ubuntu-latest-3.14-auth - 41604789791.31 03 Nov 2026 08:39AM UTC 57
93.73
GitHub Action Run
32 run-ubuntu-latest-3.9-realtime - 41604789791.32 03 Nov 2026 08:40AM UTC 17
88.81
GitHub Action Run
33 run-ubuntu-latest-3.10-auth - 41604789791.33 03 Nov 2026 08:39AM UTC 57
93.71
GitHub Action Run
34 run-ubuntu-latest-3.11-realtime - 41604789791.34 03 Nov 2026 08:40AM UTC 17
88.7
GitHub Action Run
35 run-ubuntu-latest-3.14-realtime - 41604789791.35 03 Nov 2026 08:40AM UTC 17
87.88
GitHub Action Run
36 run-ubuntu-latest-3.12-postgrest - 41604789791.36 03 Nov 2026 08:39AM UTC 39
97.59
GitHub Action Run
Source Files on build 41604789791
  • Tree
  • List 167
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #41604789791
  • 34227d18 on github
  • Prev Build on main (#41597679610)
  • Next Build on main (#41605529344)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc