about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-11-13 18:49:58 +0100
committerbptato <nincsnevem662@gmail.com>2024-11-13 19:24:38 +0100
commit0a892537871aa8cea8ecd76d1b2e307e413b696f (patch)
treebf0bb42442dc0e9731b9909a2abc7bbc732df4fa /src
parentb16d3454ea16d87b84607e8330ca3c3b0ac0a8f7 (diff)
downloadchawan-0a892537871aa8cea8ecd76d1b2e307e413b696f.tar.gz
config: resolve download-dir as path, update docs
Turns out it's more useful to have env vars in the variable than to
allow incomplete path names.

Also, fix the disappearing backslash issue in docs.
Diffstat (limited to 'src')
-rw-r--r--src/config/config.nim2
-rw-r--r--src/local/pager.nim4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/config/config.nim b/src/config/config.nim
index ddb64388..3e708f3d 100644
--- a/src/config/config.nim
+++ b/src/config/config.nim
@@ -108,7 +108,7 @@ type
     mime_types*: MimeTypes
     cgi_dir* {.jsgetset.}: seq[ChaPathResolved]
     urimethodmap*: URIMethodMap
-    download_dir* {.jsgetset.}: string
+    download_dir* {.jsgetset.}: ChaPathResolved
     w3m_cgi_compat* {.jsgetset.}: bool
 
   InputConfig = object
diff --git a/src/local/pager.nim b/src/local/pager.nim
index 6b4606a6..5e6eee1a 100644
--- a/src/local/pager.nim
+++ b/src/local/pager.nim
@@ -2093,8 +2093,10 @@ proc redirect(pager: Pager; container: Container; response: Response;
     pager.deleteContainer(container, failTarget)
 
 proc askDownloadPath(pager: Pager; container: Container; response: Response) =
-  var buf = pager.config.external.download_dir
+  var buf = string(pager.config.external.download_dir)
   let pathname = container.url.pathname
+  if buf.len == 0 or buf[^1] != '/':
+    buf &= '/'
   if pathname[^1] == '/':
     buf &= "index.html"
   else: