@@ -87,6 +87,178 @@ class create_webserver
8787 {
8888 }
8989
90+ create_webserver (const create_webserver& b):
91+ _port (b._port),
92+ _start_method (b._start_method),
93+ _max_threads (b._max_threads),
94+ _max_connections (b._max_connections),
95+ _memory_limit (b._memory_limit),
96+ _content_size_limit (b._content_size_limit),
97+ _connection_timeout (b._connection_timeout),
98+ _per_IP_connection_limit (b._per_IP_connection_limit),
99+ _log_access (b._log_access),
100+ _log_error (b._log_error),
101+ _validator (b._validator),
102+ _unescaper (b._unescaper),
103+ _bind_address (b._bind_address),
104+ _bind_socket (b._bind_socket),
105+ _max_thread_stack_size (b._max_thread_stack_size),
106+ _use_ssl (b._use_ssl),
107+ _use_ipv6 (b._use_ipv6),
108+ _debug (b._debug),
109+ _pedantic (b._pedantic),
110+ _https_mem_key (b._https_mem_key),
111+ _https_mem_cert (b._https_mem_cert),
112+ _https_mem_trust (b._https_mem_trust),
113+ _https_priorities (b._https_priorities),
114+ _cred_type (b._cred_type),
115+ _digest_auth_random (b._digest_auth_random),
116+ _nonce_nc_size (b._nonce_nc_size),
117+ _default_policy (b._default_policy),
118+ _basic_auth_enabled (b._basic_auth_enabled),
119+ _digest_auth_enabled (b._digest_auth_enabled),
120+ _regex_checking (b._regex_checking),
121+ _ban_system_enabled (b._ban_system_enabled),
122+ _post_process_enabled (b._post_process_enabled),
123+ _deferred_enabled (b._deferred_enabled),
124+ _single_resource (b._single_resource),
125+ _not_found_resource (b._not_found_resource),
126+ _method_not_allowed_resource (b._method_not_allowed_resource),
127+ _internal_error_resource (b._internal_error_resource)
128+ {
129+ }
130+
131+ create_webserver (create_webserver&& b):
132+ _port (b._port),
133+ _start_method (b._start_method),
134+ _max_threads (b._max_threads),
135+ _max_connections (b._max_connections),
136+ _memory_limit (b._memory_limit),
137+ _content_size_limit (b._content_size_limit),
138+ _connection_timeout (b._connection_timeout),
139+ _per_IP_connection_limit (b._per_IP_connection_limit),
140+ _log_access (std::move(b._log_access)),
141+ _log_error (std::move(b._log_error)),
142+ _validator (std::move(b._validator)),
143+ _unescaper (std::move(b._unescaper)),
144+ _bind_address (std::move(b._bind_address)),
145+ _bind_socket (b._bind_socket),
146+ _max_thread_stack_size (b._max_thread_stack_size),
147+ _use_ssl (b._use_ssl),
148+ _use_ipv6 (b._use_ipv6),
149+ _debug (b._debug),
150+ _pedantic (b._pedantic),
151+ _https_mem_key (std::move(b._https_mem_key)),
152+ _https_mem_cert (std::move(b._https_mem_cert)),
153+ _https_mem_trust (std::move(b._https_mem_trust)),
154+ _https_priorities (std::move(b._https_priorities)),
155+ _cred_type (b._cred_type),
156+ _digest_auth_random (std::move(b._digest_auth_random)),
157+ _nonce_nc_size (b._nonce_nc_size),
158+ _default_policy (b._default_policy),
159+ _basic_auth_enabled (b._basic_auth_enabled),
160+ _digest_auth_enabled (b._digest_auth_enabled),
161+ _regex_checking (b._regex_checking),
162+ _ban_system_enabled (b._ban_system_enabled),
163+ _post_process_enabled (b._post_process_enabled),
164+ _deferred_enabled (b._deferred_enabled),
165+ _single_resource (b._single_resource),
166+ _not_found_resource (std::move(b._not_found_resource)),
167+ _method_not_allowed_resource (std::move(b._method_not_allowed_resource)),
168+ _internal_error_resource (std::move(b._internal_error_resource))
169+ {
170+ }
171+
172+ create_webserver& operator =(const create_webserver& b)
173+ {
174+ if (this == &b) return *this ;
175+
176+ this ->_port = b._port ;
177+ this ->_start_method = b._start_method ;
178+ this ->_max_threads = b._max_threads ;
179+ this ->_max_connections = b._max_connections ;
180+ this ->_memory_limit = b._memory_limit ;
181+ this ->_content_size_limit = b._content_size_limit ;
182+ this ->_connection_timeout = b._connection_timeout ;
183+ this ->_per_IP_connection_limit = b._per_IP_connection_limit ;
184+ this ->_log_access = b._log_access ;
185+ this ->_log_error = b._log_error ;
186+ this ->_validator = b._validator ;
187+ this ->_unescaper = b._unescaper ;
188+ this ->_bind_address = b._bind_address ;
189+ this ->_bind_socket = b._bind_socket ;
190+ this ->_max_thread_stack_size = b._max_thread_stack_size ;
191+ this ->_use_ssl = b._use_ssl ;
192+ this ->_use_ipv6 = b._use_ipv6 ;
193+ this ->_debug = b._debug ;
194+ this ->_pedantic = b._pedantic ;
195+ this ->_https_mem_key = b._https_mem_key ;
196+ this ->_https_mem_cert = b._https_mem_cert ;
197+ this ->_https_mem_trust = b._https_mem_trust ;
198+ this ->_https_priorities = b._https_priorities ;
199+ this ->_cred_type = b._cred_type ;
200+ this ->_digest_auth_random = b._digest_auth_random ;
201+ this ->_nonce_nc_size = b._nonce_nc_size ;
202+ this ->_default_policy = b._default_policy ;
203+ this ->_basic_auth_enabled = b._basic_auth_enabled ;
204+ this ->_digest_auth_enabled = b._digest_auth_enabled ;
205+ this ->_regex_checking = b._regex_checking ;
206+ this ->_ban_system_enabled = b._ban_system_enabled ;
207+ this ->_post_process_enabled = b._post_process_enabled ;
208+ this ->_deferred_enabled = b._deferred_enabled ;
209+ this ->_single_resource = b._single_resource ;
210+ this ->_not_found_resource = b._not_found_resource ;
211+ this ->_method_not_allowed_resource = b._method_not_allowed_resource ;
212+ this ->_internal_error_resource = b._internal_error_resource ;
213+
214+ return *this ;
215+ }
216+
217+ create_webserver& operator =(create_webserver&& b)
218+ {
219+ if (this == &b) return *this ;
220+
221+ this ->_port = b._port ;
222+ this ->_start_method = b._start_method ;
223+ this ->_max_threads = b._max_threads ;
224+ this ->_max_connections = b._max_connections ;
225+ this ->_memory_limit = b._memory_limit ;
226+ this ->_content_size_limit = b._content_size_limit ;
227+ this ->_connection_timeout = b._connection_timeout ;
228+ this ->_per_IP_connection_limit = b._per_IP_connection_limit ;
229+ this ->_log_access = std::move (b._log_access );
230+ this ->_log_error = std::move (b._log_error );
231+ this ->_validator = std::move (b._validator );
232+ this ->_unescaper = std::move (b._unescaper );
233+ this ->_bind_address = std::move (b._bind_address );
234+ this ->_bind_socket = b._bind_socket ;
235+ this ->_max_thread_stack_size = b._max_thread_stack_size ;
236+ this ->_use_ssl = b._use_ssl ;
237+ this ->_use_ipv6 = b._use_ipv6 ;
238+ this ->_debug = b._debug ;
239+ this ->_pedantic = b._pedantic ;
240+ this ->_https_mem_key = std::move (b._https_mem_key );
241+ this ->_https_mem_cert = std::move (b._https_mem_cert );
242+ this ->_https_mem_trust = std::move (b._https_mem_trust );
243+ this ->_https_priorities = std::move (b._https_priorities );
244+ this ->_cred_type = b._cred_type ;
245+ this ->_digest_auth_random = std::move (b._digest_auth_random );
246+ this ->_nonce_nc_size = b._nonce_nc_size ;
247+ this ->_default_policy = b._default_policy ;
248+ this ->_basic_auth_enabled = b._basic_auth_enabled ;
249+ this ->_digest_auth_enabled = b._digest_auth_enabled ;
250+ this ->_regex_checking = b._regex_checking ;
251+ this ->_ban_system_enabled = b._ban_system_enabled ;
252+ this ->_post_process_enabled = b._post_process_enabled ;
253+ this ->_deferred_enabled = b._deferred_enabled ;
254+ this ->_single_resource = b._single_resource ;
255+ this ->_not_found_resource = std::move (b._not_found_resource );
256+ this ->_method_not_allowed_resource = std::move (b._method_not_allowed_resource );
257+ this ->_internal_error_resource = std::move (b._internal_error_resource );
258+
259+ return *this ;
260+ }
261+
90262 explicit create_webserver (uint16_t port):
91263 _port(port),
92264 _start_method(http::http_utils::INTERNAL_SELECT),
0 commit comments