瀏覽代碼

LibWeb: Render HTML content if present for HTTP error pages

If an HTTP response fails with an error code (e.g 403) but still has
body content, we now render the content.

We only fall back to our own built-in error page if there's no body.
Andreas Kling 2 年之前
父節點
當前提交
3435820e1f
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp

+ 1 - 1
Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp

@@ -322,7 +322,7 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
                     store_response_cookies(request.page().value(), request.url(), *set_cookie);
                     store_response_cookies(request.page().value(), request.url(), *set_cookie);
             }
             }
 
 
-            if (!success || (status_code.has_value() && *status_code >= 400 && *status_code <= 599)) {
+            if (!success || (status_code.has_value() && *status_code >= 400 && *status_code <= 599 && payload.is_empty())) {
                 StringBuilder error_builder;
                 StringBuilder error_builder;
                 if (status_code.has_value())
                 if (status_code.has_value())
                     error_builder.appendff("Load failed: {}", *status_code);
                     error_builder.appendff("Load failed: {}", *status_code);