Quarkus为Wasm文件提供了错误的Content-Type标头

时间:2019-12-29 15:54:27

标签: mime-types web.xml webassembly undertow quarkus

我需要Quarkus使用内容类型标头application/wasm而不是application/octet-stream来提供wasm文件。

首先,我尝试使用undertow-handlers.conf设置内容类型,如下所示:

path-suffix('.wasm') -> set("o{Content-Type}", "application/wasm")

对于其他标头,这可以正常工作,但是Content-Type似乎被后续处理程序覆盖。

此后,我尝试在src/main/resources/META-INF下添加一个web.xml,该文件具有类似wasm文件的mime映射:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         id="WebApp_ID" version="3.1">

    <mime-mapping>
        <extension>wasm</extension>
        <mime-type>application/wasm</mime-type>
    </mime-mapping>
</web-app>

这种方法似乎对Content-Type无效。

在Quarkus中覆盖静态文件的mime类型映射的正确方法是什么?为什么web.xml配置不起作用?

1 个答案:

答案 0 :(得分:1)

您是否明确添加了quarkus-undertow扩展名?因为默认情况下,它不存在,并且由Vert.x提供服务,所以您需要添加一个Vert.x处理程序。