basecamp / basecamp/thruster

Empty reply on timeout without any log entry

Open
#104 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
1.2k
Forks
58
Avg merge
1d 2h
Merged PRs (30d)
6

Description

I am testing requests that run over 30s with DEBUG=1:

```
env | grep DEBUG
DEBUG=1
```

```

~# time curl -i http://localhost:4000/sleep?seconds=35
curl: (52) Empty reply from server

real 0m35.034s
user 0m0.010s
sys 0m0.009s
```

The only log entries are:

```
Started GET "/sleep?seconds=35" for 127.0.0.1 at 2025-12-11 15:58:53 +0200[user: guest] Processing by HomeController#sleep as */*[user: guest] Parameters: {"seconds"=>"35"}[user: guest] Rendered text template (0.0ms)[user: guest] Completed 200 OK in 35008ms (Views: 0.6ms | ActiveRecord: 0.0ms){"time":"2025-12-11T15:59:28.307289503+02:00","level":"INFO","msg":"Request","path":"/sleep","status":200,"dur":35018,"method":"GET","req_content_length":0,"req_content_type":"","resp_content_length":8,"resp_content_type":"text/plain; charset=utf-8","remote_addr":"10.88.0.1:42120","user_agent":"curl/8.14.1","cache":"miss","query":"seconds=35","proto":"HTTP/1.1"}
```

Expected behaviour:
1. There is a log entry about the failure
2. The server replies with a 504 Gateway Timeout

https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/504

Version used: 0.1.16

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue with DEBUG=1 using curl against /sleep?seconds=35 and inspect the HTTP timeout handling entry point; no source files or tests are named in the report. Done means the failure is logged and the client receives a 504 Gateway Timeout instead of an empty reply.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.