5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 08:10:56 +08:00

[linux] better error handling

This commit is contained in:
Lea Anthony 2022-01-30 21:03:39 +11:00
parent be15644b96
commit a624ee5e35
No known key found for this signature in database
GPG Key ID: 33DAF7BB90A58405

View File

@ -23,6 +23,7 @@ import "C"
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
"strconv"
@ -344,22 +345,23 @@ func (f *Frontend) processRequest(request unsafe.Pointer) {
content, mimeType, err := f.assets.Load(file)
// TODO How to return 404/500 errors to webkit?
//if err != nil {
//if os.IsNotExist(err) {
// f.dispatch(func() {
// message := C.CString("not found")
// defer C.free(unsafe.Pointer(message))
// C.webkit_uri_scheme_request_finish_error(req, C.g_error_new_literal(C.G_FILE_ERROR_NOENT, C.int(404), message))
// })
//} else {
// err = fmt.Errorf("Error processing request %s: %w", uri, err)
// f.logger.Error(err.Error())
// message := C.CString("internal server error")
// defer C.free(unsafe.Pointer(message))
// C.webkit_uri_scheme_request_finish_error(req, C.g_error_new_literal(C.G_FILE_ERROR_NOENT, C.int(500), message))
//}
//return
//}
if err != nil {
if os.IsNotExist(err) {
message := C.CString("File not found")
gerr := C.g_error_new_literal(C.g_quark_from_string(message), C.int(404), message)
C.webkit_uri_scheme_request_finish_error(req, gerr)
C.g_error_free(gerr)
C.free(unsafe.Pointer(message))
} else {
err = fmt.Errorf("Error processing request %s: %v", uri, err)
message := C.CString("Internal Error")
gerr := C.g_error_new_literal(C.g_quark_from_string(message), C.int(500), message)
C.webkit_uri_scheme_request_finish_error(req, gerr)
C.g_error_free(gerr)
C.free(unsafe.Pointer(message))
}
return
}
cContent := C.CString(string(content))
defer C.free(unsafe.Pointer(cContent))