Imported Upstream version 1.64.0
[platform/upstream/boost.git] / doc / html / boost_asio / example / cpp11 / http / server / mime_types.cpp
1 //
2 // mime_types.cpp
3 // ~~~~~~~~~~~~~~
4 //
5 // Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6 //
7 // Distributed under the Boost Software License, Version 1.0. (See accompanying
8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9 //
10
11 #include "mime_types.hpp"
12
13 namespace http {
14 namespace server {
15 namespace mime_types {
16
17 struct mapping
18 {
19   const char* extension;
20   const char* mime_type;
21 } mappings[] =
22 {
23   { "gif", "image/gif" },
24   { "htm", "text/html" },
25   { "html", "text/html" },
26   { "jpg", "image/jpeg" },
27   { "png", "image/png" }
28 };
29
30 std::string extension_to_type(const std::string& extension)
31 {
32   for (mapping m: mappings)
33   {
34     if (m.extension == extension)
35     {
36       return m.mime_type;
37     }
38   }
39
40   return "text/plain";
41 }
42
43 } // namespace mime_types
44 } // namespace server
45 } // namespace http