mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 19:31:20 +08:00
ensure binary resources can be served (#1240)
* ensure binary resources can be served fixes #1235 * use free instead of g_free check that C.malloc does not fail before using C.memcpy
This commit is contained in:
parent
ae6da05e9d
commit
622c4adad6
@ -306,15 +306,24 @@ func (f *Frontend) processRequest(request unsafe.Pointer) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
cContent := C.CString(string(res.Body))
|
var cContent unsafe.Pointer
|
||||||
defer C.free(unsafe.Pointer(cContent))
|
bodyLen := len(res.Body)
|
||||||
|
var cLen C.long
|
||||||
|
if bodyLen > 0 {
|
||||||
|
cContent = C.malloc(C.ulong(bodyLen))
|
||||||
|
if cContent != nil {
|
||||||
|
C.memcpy(cContent, unsafe.Pointer(&res.Body[0]), C.size_t(bodyLen))
|
||||||
|
cLen = C.long(len(res.Body))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cMimeType := C.CString(res.MimeType)
|
cMimeType := C.CString(res.MimeType)
|
||||||
defer C.free(unsafe.Pointer(cMimeType))
|
defer C.free(unsafe.Pointer(cMimeType))
|
||||||
cLen := C.long(C.strlen(cContent))
|
|
||||||
stream := C.g_memory_input_stream_new_from_data(
|
stream := C.g_memory_input_stream_new_from_data(
|
||||||
unsafe.Pointer(C.g_strdup(cContent)),
|
cContent,
|
||||||
cLen,
|
cLen,
|
||||||
(*[0]byte)(C.g_free))
|
(*[0]byte)(C.free))
|
||||||
C.webkit_uri_scheme_request_finish(req, stream, cLen, cMimeType)
|
C.webkit_uri_scheme_request_finish(req, stream, cLen, cMimeType)
|
||||||
C.g_object_unref(C.gpointer(stream))
|
C.g_object_unref(C.gpointer(stream))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user