Good practices regarding MIME type
Solène Rapenne
solene at perso.pw
Thu Dec 10 21:29:13 GMT 2020
Le 2020-12-10 22:26, Omar Polo a écrit :
> Solène Rapenne <solene at perso.pw> writes:
>
>> Hi,
>>
>> I wrote a gemini server in C and I currently use an hardcoded list of
>> file extensions <-> MIME type assocation.
>> This isn't great because it relies on file extension which can be
>> wrong, but a file without extension would
>> use a default.
>>
>> I chose to set a default text/gemini in case the extension is unknown
>> or if the file has no extension.
>>
>> What are the good practices to determine a file MIME type?
>>
>> regards
>> Solène
>
> I'm using the same approach in my server, but there are two
> alternatives
> I know:
>
> - using /usr/share/misc/mime.types (still a list, but probably more
> complete than a manual one). Don't know if it's widespread, but
> it's present in base on OpenBSD :)
> - using libmagic: it's a library to detect the MIME type by reading
> the
> file. it powers the file(1) command on some unices. The drawback
> is
> that it needs to open and read the file, whereas guessing from the
> extension doesn't.
I already did use that exact mime.types file, but I hardcoded it. I will
take a look at file(1) code. I target OpenBSD first but I'll see if
it can be ported easily.
More information about the Gemini
mailing list