diff options
| author | Joel Klinghed <the_jk@spawned.biz> | 2021-11-18 00:19:49 +0100 |
|---|---|---|
| committer | Joel Klinghed <the_jk@spawned.biz> | 2021-11-18 00:24:41 +0100 |
| commit | 33405111d53ac0288adbd2881f3e5a7c1cacc999 (patch) | |
| tree | 49570e9cb08f2184c7e143a5c124307e23c2a505 | |
| parent | 0277b7075475326f2c39fe09b4d7424b6f9111a0 (diff) | |
send_file: Make sure send file header value contains the right amount of slashes
| -rw-r--r-- | example/travels.conf | 4 | ||||
| -rw-r--r-- | src/send_file.cc | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/example/travels.conf b/example/travels.conf index 3972bc0..89bba59 100644 --- a/example/travels.conf +++ b/example/travels.conf @@ -11,5 +11,5 @@ geojson.database = timezones.geojson.json # nginx site.sendfile.header = X-Accel-Redirect -site.sendfile.path = /media/ -site.sendfile.static_path = /static/ +site.sendfile.path = /media +site.sendfile.static_path = /static diff --git a/src/send_file.cc b/src/send_file.cc index 8611b6f..e5bf92b 100644 --- a/src/send_file.cc +++ b/src/send_file.cc @@ -29,7 +29,11 @@ public: } auto resp = transport->create_ok_data(""); - resp->add_header(header_, path_ + std::string(relative_path)); + std::string value = path_; + if (relative_path.empty() || relative_path.front() != '/') + value.push_back('/'); + value.append(relative_path); + resp->add_header(header_, std::move(value)); return resp; } |
