00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 PRIVATE int timeout_value;
00034
00035 #define SELECTED_TAGS_TBL_SIZE 29
00036 #define SUPPRESSED_TAGS_TBL_SIZE 41
00037 #define STRIPPED_TAGS_TBL_SIZE 37
00038
00039 #define DEFAULT_TIMEOUT 5000
00040
00041
00042 PRIVATE REQUEST_CONTEXT *set_request_context(HTRequest *request,
00043 prolog_term req_term,
00044 int req_id);
00045 PRIVATE void free_request_context (REQUEST_CONTEXT *context);
00046
00047 PRIVATE int printer (const char * fmt, va_list pArgs);
00048 PRIVATE int tracer (const char * fmt, va_list pArgs);
00049 PRIVATE BOOL libwww_send_credentials(HTRequest * request, HTAlertOpcode op,
00050 int msgnum, const char * dfault,
00051 void * input, HTAlertPar * reply);
00052 PRIVATE AUTHENTICATION *find_credentials(AUTHENTICATION *auth_info,char *realm);
00053 PRIVATE void release_libwww_request(HTRequest *request);
00054 PRIVATE char *extract_uri(prolog_term req_term, HTRequest *req, int req_id);
00055 PRIVATE void get_request_params(prolog_term req_term, HTRequest *req);
00056 PRIVATE HTAssocList *get_form_params(prolog_term form_params, int request_id);
00057 PRIVATE REQUEST_TYPE get_request_type(prolog_term req_term, int request_id);
00058
00059 PRIVATE void free_htable(HASH_TABLE *htable);
00060 PRIVATE void init_htable(HASH_TABLE *htable, int size, REQUEST_TYPE type);
00061 PRIVATE void init_tag_table(prolog_term tag_list, HASH_TABLE *tag_tbl);
00062
00063
00064 PRIVATE void setup_request_structure (prolog_term req_term, int req_id);
00065 PRIVATE int request_termination_handler(HTRequest *request,
00066 HTResponse *response,
00067 void *param,
00068 int status);
00069
00070 PRIVATE int handle_dependent_termination(HTRequest *request,
00071 HTResponse *response,
00072 void *param,
00073 int status);
00074 PRIVATE void libwww_abort_all(char *msg, ...);
00075 PRIVATE void setup_callbacks(REQUEST_TYPE type);
00076 PRIVATE void extract_request_headers(HTRequest *request);
00077 PRIVATE int timer_cbf(HTTimer *timer, void *param, HTEventType type);
00078
00079 typedef struct userdata USERDATA;
00080 struct userdata {
00081 DELETE_USERDATA * delete_method;
00082 int status;
00083
00084 };