CppCMS
http_content_type.h
1 //
3 // Copyright (C) 2008-2012 Artyom Beilis (Tonkikh) <artyomtnk@yahoo.com>
4 //
5 // See accompanying file COPYING.TXT file for licensing details.
6 //
8 #ifndef CPPCMS_HTTP_CONTENT_TYPE_H
9 #define CPPCMS_HTTP_CONTENT_TYPE_H
10 
11 #include <cppcms/defs.h>
12 #include <booster/shared_ptr.h>
13 #include <string>
14 #include <map>
15 
16 namespace cppcms { namespace http {
17 
18 
23 class CPPCMS_API content_type {
24 public:
28  std::string type() const;
32  std::string subtype() const;
36  std::string media_type() const;
41  std::string charset() const;
45  std::map<std::string,std::string> parameters() const;
49  std::string parameter_by_key(std::string const &key) const;
53  bool parameter_is_set(std::string const &key) const;
54 
55 
60  bool is_form_urlencoded() const;
65  bool is_multipart_form_data() const;
66 
70  content_type(std::string const &ct);
74  content_type(char const *ct);
78  content_type(char const *begin,char const *end);
82  content_type();
86  content_type(content_type const &);
90  content_type const &operator=(content_type const &);
94  ~content_type();
95 private:
96  struct data;
97  void parse(char const *b,char const *e);
99 };
100 
101 
102 } } //::cppcms::http
103 
104 
105 #endif
Class that represents parsed Content-Type header, this is immutable class. Once it is created its val...
Definition: http_content_type.h:23
This is the namespace where all CppCMS functionality is placed.
Definition: application.h:19