YAZ 5.35.1
url.h
Go to the documentation of this file.
1/* This file is part of the YAZ toolkit.
2 * Copyright (C) Index Data.
3 * All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
6 *
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of Index Data nor the names of its contributors
13 * may be used to endorse or promote products derived from this
14 * software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
33#ifndef YAZ_URL_H
34#define YAZ_URL_H
35
36#include <yaz/zgdu.h>
37
39
41typedef struct yaz_url *yaz_url_t;
42
46YAZ_EXPORT yaz_url_t yaz_url_create(void);
47
53YAZ_EXPORT void yaz_url_destroy(yaz_url_t p);
54
61YAZ_EXPORT void yaz_url_set_proxy(yaz_url_t p, const char *proxy);
62
67YAZ_EXPORT void yaz_url_set_max_redirects(yaz_url_t p, int num);
68
73YAZ_EXPORT void yaz_url_set_verbose(yaz_url_t p, int num);
74
80YAZ_EXPORT void yaz_url_set_timeout(yaz_url_t p, int sec, int ns);
81
93YAZ_EXPORT Z_HTTP_Response *yaz_url_exec(yaz_url_t p, const char *uri,
94 const char *method,
95 Z_HTTP_Header *headers,
96 const char *buf, size_t len);
97
102YAZ_EXPORT const char *yaz_url_get_error(yaz_url_t p);
103
105
106#endif
107/*
108 * Local variables:
109 * c-basic-offset: 4
110 * c-file-style: "Stroustrup"
111 * indent-tabs-mode: nil
112 * End:
113 * vim: shiftwidth=4 tabstop=8 expandtab
114 */
115
Definition url.c:20
char * proxy
Definition url.c:23
void yaz_url_set_timeout(yaz_url_t p, int sec, int ns)
sets I/O timeout
Definition url.c:78
yaz_url_t yaz_url_create(void)
creates a URL fetcher handle
Definition url.c:32
struct yaz_url * yaz_url_t
handle for our URL fetcher
Definition url.h:41
void yaz_url_set_max_redirects(yaz_url_t p, int num)
sets maximum number of redirects
Definition url.c:68
void yaz_url_destroy(yaz_url_t p)
destroys a URL fetcher
Definition url.c:47
void yaz_url_set_proxy(yaz_url_t p, const char *proxy)
sets proxy for URL fetcher
Definition url.c:60
const char * yaz_url_get_error(yaz_url_t p)
get last error from yaz_url_exec
Definition url.c:122
Z_HTTP_Response * yaz_url_exec(yaz_url_t p, const char *uri, const char *method, Z_HTTP_Header *headers, const char *buf, size_t len)
executes the actual HTTP request (including redirects, etc)
Definition url.c:132
void yaz_url_set_verbose(yaz_url_t p, int num)
sets verbose level 0=none, >0 verbose
Definition url.c:73
#define YAZ_BEGIN_CDECL
Definition yconfig.h:56
#define YAZ_END_CDECL
Definition yconfig.h:57
Header for the Z_GDU (HTTP or Z39.50 package)