-/* $Id: proxy.h,v 1.35 2006-04-26 11:59:10 adam Exp $
- Copyright (c) 1998-2006, Index Data.
-
-This file is part of the yazproxy.
+/* This file is part of YAZ proxy
+ Copyright (C) 1998-2008 Index Data
YAZ proxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
for more details.
You should have received a copy of the GNU General Public License
-along with YAZ proxy; see the file LICENSE. If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
- */
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
#ifndef YAZ_PROXY_H_INCLUDED
#define YAZ_PROXY_H_INCLUDED
void HTTP_Forwarded(Z_GDU *z_gdu);
void connect_stat(bool &block, int &reduce);
Yaz_ProxyClient *get_client(Z_APDU *apdu, const char *cookie,
- const char *proxy_host);
+ const char *proxy_host, int *http_code);
void srw_get_client(const char *db, const char **backend_db);
+ int get_number_of_connections();
Z_APDU *result_set_optimize(Z_APDU *apdu);
void releaseClient();
Yaz_ProxyClient *m_client;
int m_keepalive_limit_pdu;
int m_client_idletime;
int m_target_idletime;
+ int m_max_sockets;
int m_debug_mode;
char *m_proxyTarget;
char *m_default_target;
char *m_schema;
char *m_backend_type;
char *m_backend_charset;
- int m_frontend_type;
+ Odr_oid m_frontend_type[OID_SIZE];
void convert_to_frontend_type(Z_NamePlusRecordList *p);
void convert_to_marcxml(Z_NamePlusRecordList *p, const char *charset);
void convert_records_charset(Z_NamePlusRecordList *p, const char *charset);
Yaz_Proxy *parent = 0);
~Yaz_Proxy();
-
void inc_ref();
bool dec_ref();
int handle_authentication(Z_APDU *apdu);
+ int handle_global_authentication(Z_APDU *apdu);
void result_authentication(Z_APDU *apdu, int ret);
void handle_init(Z_APDU *apdu);
void inc_request_no();
int handle_init_response_for_invalid_session(Z_APDU *apdu);
void set_debug_mode(int mode);
void send_response_fail_client(const char *addr);
+ int m_num_msg_threads;
Msg_Thread *m_my_thread;
void base64_decode(const char *base64, char *buf, int buf_len);
};