Add mime.types to docker container to select charset properly (#547)

* Add charset to content type in getHandler

Add charset to content type in the getHandler function to fix CJK-letter related issues.
If the content type is empty after trimming, set it to "text/plain; charset=utf-8".

* Add mailcap and mime.types to transfer.sh container

This commit includes /etc/mime.types file to the container, which is necessary to properly select the charset using MIME typing during file upload.

For more information, read https://github.com/dutchcoders/transfer.sh/pull/545#issuecomment-1528712181

---------

Co-authored-by: Andrea Spacca <andrea.spacca@gmail.com>
This commit is contained in:
Junoh Moon 2023-05-19 13:09:37 +09:00 committed by GitHub
parent 1e6346c3d1
commit 2a11ca13a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,7 +3,7 @@ ARG GO_VERSION=1.20
FROM golang:${GO_VERSION}-alpine as build FROM golang:${GO_VERSION}-alpine as build
# Necessary to run 'go get' and to compile the linked binary # Necessary to run 'go get' and to compile the linked binary
RUN apk add git musl-dev RUN apk add git musl-dev mailcap
ADD . /go/src/github.com/dutchcoders/transfer.sh ADD . /go/src/github.com/dutchcoders/transfer.sh
@ -29,6 +29,7 @@ FROM scratch AS final
LABEL maintainer="Andrea Spacca <andrea.spacca@gmail.com>" LABEL maintainer="Andrea Spacca <andrea.spacca@gmail.com>"
ARG RUNAS ARG RUNAS
COPY --from=build /etc/mime.types /etc/mime.types
COPY --from=build /tmp/empty /tmp COPY --from=build /tmp/empty /tmp
COPY --from=build /tmp/useradd/* /etc/ COPY --from=build /tmp/useradd/* /etc/
COPY --from=build --chown=${RUNAS} /go/bin/transfersh /go/bin/transfersh COPY --from=build --chown=${RUNAS} /go/bin/transfersh /go/bin/transfersh