diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-02-11 12:34:40 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-02-11 12:34:40 +0000 |
commit | 41e28d1148a308957735875abb271d22ba0b4432 (patch) | |
tree | 8d549898192d0d513568140cd71e9475f982dea9 /src/libutil/http_context.h | |
parent | cb070eea5c1a2e39336171b37688202f334f7d70 (diff) | |
download | rspamd-41e28d1148a308957735875abb271d22ba0b4432.tar.gz rspamd-41e28d1148a308957735875abb271d22ba0b4432.zip |
[Rework] Further project structure reorganisation
Diffstat (limited to 'src/libutil/http_context.h')
-rw-r--r-- | src/libutil/http_context.h | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/src/libutil/http_context.h b/src/libutil/http_context.h deleted file mode 100644 index 82ee400b0..000000000 --- a/src/libutil/http_context.h +++ /dev/null @@ -1,110 +0,0 @@ -/*- - * Copyright 2019 Vsevolod Stakhov - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef RSPAMD_HTTP_CONTEXT_H -#define RSPAMD_HTTP_CONTEXT_H - -#include "config.h" -#include "ucl.h" -#include "addr.h" - -#include "contrib/libev/ev.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct rspamd_http_context; -struct rspamd_config; -struct rspamd_http_message; -struct upstream_ctx; - -struct rspamd_http_context_cfg { - guint kp_cache_size_client; - guint kp_cache_size_server; - guint ssl_cache_size; - gdouble keepalive_interval; - gdouble client_key_rotate_time; - const gchar *user_agent; - const gchar *http_proxy; - const gchar *server_hdr; -}; - -/** - * Creates and configures new HTTP context - * @param root_conf configuration object - * @param ev_base event base - * @return new context used for both client and server HTTP connections - */ -struct rspamd_http_context *rspamd_http_context_create (struct rspamd_config *cfg, - struct ev_loop *ev_base, - struct upstream_ctx *ctx); - -struct rspamd_http_context *rspamd_http_context_create_config ( - struct rspamd_http_context_cfg *cfg, - struct ev_loop *ev_base, - struct upstream_ctx *ctx); - -/** - * Destroys context - * @param ctx - */ -void rspamd_http_context_free (struct rspamd_http_context *ctx); - -struct rspamd_http_context *rspamd_http_context_default (void); - -/** - * Returns preserved keepalive connection if it's available. - * Refcount is transferred to caller! - * @param ctx - * @param addr - * @param host - * @return - */ -struct rspamd_http_connection *rspamd_http_context_check_keepalive ( - struct rspamd_http_context *ctx, const rspamd_inet_addr_t *addr, - const gchar *host); - -/** - * Prepares keepalive key for a connection by creating a new entry or by reusing existent - * Bear in mind, that keepalive pool has currently no cleanup methods! - * @param ctx - * @param conn - * @param addr - * @param host - */ -void rspamd_http_context_prepare_keepalive (struct rspamd_http_context *ctx, - struct rspamd_http_connection *conn, - const rspamd_inet_addr_t *addr, - const gchar *host); - -/** - * Pushes a connection to keepalive pool after client request is finished, - * keepalive key *must* be prepared before using of this function - * @param ctx - * @param conn - * @param msg - */ -void rspamd_http_context_push_keepalive (struct rspamd_http_context *ctx, - struct rspamd_http_connection *conn, - struct rspamd_http_message *msg, - struct ev_loop *ev_base); - -#ifdef __cplusplus -} -#endif - -#endif |