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