Skip to content

feat(transport): support http proxy#102

Merged
mharrisb1 merged 8 commits intoevidence-dev:mainfrom
mharrisb1:99-support-https-proxy
Feb 13, 2026
Merged

feat(transport): support http proxy#102
mharrisb1 merged 8 commits intoevidence-dev:mainfrom
mharrisb1:99-support-https-proxy

Conversation

@mharrisb1
Copy link
Collaborator

Overview

Adds HTTP Proxy support using same approach as the httpfs extension:

https://duckdb.org/docs/stable/core_extensions/httpfs/https#http-proxy

Example Usage

To test, I used tinyproxy with the following config:

Port 5436
Listen 127.0.0.1
LogLevel Info
Allow 127.0.0.1
BasicAuth testuser testpass

And ran with:

tinyproxy -d -c tinyproxy.conf

Then you can either use global proxy configs:

./build/release/duckdb
DuckDB v1.4.0-dev4046 (Development Version) 555d9b7d14
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D SET http_proxy = 'localhost:5436';
D SET http_proxy_username = 'testuser';
D SET http_proxy_password = 'testpass';
D CREATE SECRET (TYPE gsheet, PROVIDER key_file, FILEPATH 'service-account-credentials.json');
┌─────────┐
│ Success │
│ boolean │
├─────────┤
│ true    │
└─────────┘
D FROM read_gsheet('https://docs.google.com/spreadsheets/d/11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8/edit');
┌─────────┬────────┬──────────┐
│  Name   │  Age   │ Location │
│ varchar │ double │ varchar  │
├─────────┼────────┼──────────┤
│ Alice   │   30.0 │ Toronto  │
│ Bob     │   25.0 │ New York │
│ Charlie │   45.0 │ Chicago  │
│ Drake   │   NULL │ NULL     │
│ NULL    │   NULL │ NULL     │
│ Archie  │   99.0 │ NULL     │
└─────────┴────────┴──────────┘
D

Or you can use secrets manager:

./build/release/duckdb
DuckDB v1.4.0-dev4046 (Development Version) 555d9b7d14
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D CREATE SECRET (TYPE gsheet, PROVIDER key_file, FILEPATH 'service-account-credentials.json');
┌─────────┐
│ Success │
│ boolean │
├─────────┤
│ true    │
└─────────┘
D CREATE SECRET http_proxy (TYPE http, HTTP_PROXY 'localhost:5436', HTTP_PROXY_USERNAME 'testuser', HTTP_PROXY_PASSWORD 'testpass');
┌─────────┐
│ Success │
│ boolean │
├─────────┤
│ true    │
└─────────┘
D FROM read_gsheet('https://docs.google.com/spreadsheets/d/11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8/edit');
┌─────────┬────────┬──────────┐
│  Name   │  Age   │ Location │
│ varchar │ double │ varchar  │
├─────────┼────────┼──────────┤
│ Alice   │   30.0 │ Toronto  │
│ Bob     │   25.0 │ New York │
│ Charlie │   45.0 │ Chicago  │
│ Drake   │   NULL │ NULL     │
│ NULL    │   NULL │ NULL     │
│ Archie  │   99.0 │ NULL     │
└─────────┴────────┴──────────┘
D

@mharrisb1 mharrisb1 linked an issue Feb 12, 2026 that may be closed by this pull request
@mharrisb1 mharrisb1 mentioned this pull request Feb 12, 2026
@mharrisb1 mharrisb1 merged commit 7be155e into evidence-dev:main Feb 13, 2026
22 of 23 checks passed
@mharrisb1 mharrisb1 deleted the 99-support-https-proxy branch February 13, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

support https proxy

1 participant