[Interest] QWebEngine, custom URL schemes and content-types
Steve Atkins
steve at blighty.com
Mon Apr 8 15:05:42 CEST 2019
> On Apr 8, 2019, at 12:46 PM, Andy <asmaloney at gmail.com> wrote:
>
> Not sure if it's the same situation, but I just had a similar problem - SVGs weren't showing up properly because I had the wrong MIME type.
>
> I fixed it by using the QMimeDatabase like this:
>
> const auto cMIMEType = QMimeDatabase().mimeTypeForData( data );
>
> inRequest->reply( cMIMEType.name().toLatin1(), buffer );
>
> (where "data" is the contents of a file)
>
Thanks! That's pretty much what I'm doing. Knowing it seems to be working for
someone is a very useful data point.
Cheers,
Steve
> ---
> Andy Maloney // https://asmaloney.com
> twitter ~ @asmaloney
>
>
>
> On Mon, Apr 8, 2019 at 7:40 AM Steve Atkins <steve at blighty.com> wrote:
> I'm using a custom URL scheme by registering the scheme with QEbEngineUrlScheme::registerScheme() at app startup, creating a handler ("Assets") that inherits from QWebEngineUrlSchemeHandler, installing that scheme handler in the QWebEngineProfile passed to the QWebPage.
>
> Assets::requestStarted(QWebEngineUrlRequestJob *job) handles the request and finishes by doing job->reply() with a content type of application/javascript and an open QFile.
>
> Everything works fine. The page loads, it loads scripts from the header from URLs asset:whatever.js, the content is correct and the js runs fine.
>
> Until I try and load the asset: scripts as ES6 modules. Then I get "Error: Failed to load module script: The server responded with a non-JavaScript MIME type of \"\". Strict MIME type checking is enforced for module scripts per HTML spec. (asset:/ticket.js:0)".
>
> It seems from that that job->reply() is not setting the content-type of the response successfully. I've tried to confirm that, but the chrome inspector shows no response headers, and fetch() errors out because the custom URL scheme isn't supported.
>
> Does this look familiar to anyone? And has anyone used custom schemes with content-types successfully?
>
> Cheers,
> Steve
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> https://lists.qt-project.org/listinfo/interest
More information about the Interest
mailing list