]> OzVa Git service - ozva-cloud/commitdiff
chore: trivial improvements
authorsigoden <sigoden@gmail.com>
Sat, 1 Apr 2023 08:10:34 +0000 (16:10 +0800)
committersigoden <sigoden@gmail.com>
Sat, 1 Apr 2023 08:10:34 +0000 (16:10 +0800)
assets/index.js
src/server.rs

index 9f10fc4f8b33bc57a3a02df8f5023ab9114aec5c..7b99784632b255132a3a6350451d1be3edc059dd 100644 (file)
@@ -216,7 +216,11 @@ Uploader.runQueue = async () => {
   if (!uploader) return;
   if (!Uploader.auth) {
     Uploader.auth = true;
-    await login();
+    try {
+      await login();
+    } catch {
+      Uploader.auth = false;
+    }
   }
   uploader.ajax();
 }
@@ -643,6 +647,7 @@ async function saveChange() {
       method: "PUT",
       body: $editor.value,
     });
+    location.reload();
   } catch (err) {
     alert(`Failed to save file, ${err.message}`);
   }
index f6e712a05041648a3537ac6ec61f10be7957d0a1..ec3dcfafc42c3fddab9f99cde34b4f29223148d9 100644 (file)
@@ -12,9 +12,9 @@ use async_zip::{Compression, ZipDateTime, ZipEntryBuilder};
 use chrono::{LocalResult, TimeZone, Utc};
 use futures::TryStreamExt;
 use headers::{
-    AcceptRanges, AccessControlAllowCredentials, AccessControlAllowOrigin, Connection,
-    ContentLength, ContentType, ETag, HeaderMap, HeaderMapExt, IfModifiedSince, IfNoneMatch,
-    IfRange, LastModified, Range,
+    AcceptRanges, AccessControlAllowCredentials, AccessControlAllowOrigin, ContentLength,
+    ContentType, ETag, HeaderMap, HeaderMapExt, IfModifiedSince, IfNoneMatch, IfRange,
+    LastModified, Range,
 };
 use hyper::header::{
     HeaderValue, AUTHORIZATION, CONTENT_DISPOSITION, CONTENT_LENGTH, CONTENT_RANGE, CONTENT_TYPE,
@@ -942,8 +942,8 @@ impl Server {
     fn auth_reject(&self, res: &mut Response) -> Result<()> {
         let value = self.args.auth_method.www_auth(false)?;
         set_webdav_headers(res);
-        res.headers_mut().typed_insert(Connection::close());
         res.headers_mut().insert(WWW_AUTHENTICATE, value.parse()?);
+        // set 401 to make the browser pop up the login box
         *res.status_mut() = StatusCode::UNAUTHORIZED;
         Ok(())
     }
@@ -973,8 +973,7 @@ impl Server {
             self.args.auth_method.clone(),
         );
         if guard_type.is_reject() {
-            *res.status_mut() = StatusCode::FORBIDDEN;
-            *res.body_mut() = Body::from("Forbidden");
+            status_forbid(res);
             return None;
         }