Search code examples
javaundertow

How can I configure Undertow to add a charset to text/ content types?


I have a programmatically started Undertow server (not running as part of any container).

My static resources, served with a ResourceHander on a PathResourceManager are UTF-8 encoded, but the mime type sent by the PathResourceManager does not include a charset.

I'd rather not stoop to building a whole new MimeMappings table and installing it.

Is there any way to use a handler to add the charset to responses with a CONTENT-TYPE starting with `text/'?


Solution

  • I did this in my code:

    handler = path()
            .addPrefixPath("/", resource(new FileResourceManager(webStaticDir, 1024))
            .setMimeMappings(MimeMappings.builder(true)
                    .addMapping("html", "text/html;charset=utf-8")
                    .build()));
    

    Perhaps you can adapt it for your situation.