Explorar o código

LibWeb: Do not use OS error codes in the error callback for file:// URLs

The error code passed here is expected to be an HTTP error code. Passing
errno codes does not make sense in that context.
Timothy Flynn %!s(int64=2) %!d(string=hai) anos
pai
achega
69e8216f2c
Modificáronse 1 ficheiros con 6 adicións e 4 borrados
  1. 6 4
      Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp

+ 6 - 4
Userland/Libraries/LibWeb/Loader/ResourceLoader.cpp

@@ -244,8 +244,10 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
 
 
             if (file_or_error.is_error()) {
             if (file_or_error.is_error()) {
                 log_failure(request, file_or_error.error());
                 log_failure(request, file_or_error.error());
-                if (error_callback)
-                    error_callback(DeprecatedString::formatted("{}", file_or_error.error()), file_or_error.error().code());
+                if (error_callback) {
+                    auto status = file_or_error.error().code() == ENOENT ? 404u : 500u;
+                    error_callback(DeprecatedString::formatted("{}", file_or_error.error()), status);
+                }
                 return;
                 return;
             }
             }
 
 
@@ -255,7 +257,7 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
             if (maybe_file.is_error()) {
             if (maybe_file.is_error()) {
                 log_failure(request, maybe_file.error());
                 log_failure(request, maybe_file.error());
                 if (error_callback)
                 if (error_callback)
-                    error_callback(DeprecatedString::formatted("{}", maybe_file.error()), maybe_file.error().code());
+                    error_callback(DeprecatedString::formatted("{}", maybe_file.error()), 500u);
                 return;
                 return;
             }
             }
 
 
@@ -264,7 +266,7 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, Has
             if (maybe_data.is_error()) {
             if (maybe_data.is_error()) {
                 log_failure(request, maybe_data.error());
                 log_failure(request, maybe_data.error());
                 if (error_callback)
                 if (error_callback)
-                    error_callback(DeprecatedString::formatted("{}", maybe_data.error()), maybe_data.error().code());
+                    error_callback(DeprecatedString::formatted("{}", maybe_data.error()), 500u);
                 return;
                 return;
             }
             }
             auto data = maybe_data.release_value();
             auto data = maybe_data.release_value();