source: protocols/http_client.h @ 578d627

Last change on this file since 578d627 was 7c0a497, checked in by Wilmer van der Gaast <wilmer@…>, at 2005-12-17T20:56:50Z

Moved HTTP-stuff (right now only for passport) into a separate module. This
all works 100% asynchronous and non-blocking, so almost all I/O in BitlBee
should be completely non-blocking now!

Right now support for other modules than GnuTLS is probably broken, I'll fix
it later.

  • Property mode set to 100644
File size: 1.7 KB
RevLine 
[8a9afe4]1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2005 Wilmer van der Gaast and others                *
5  \********************************************************************/
6
[7c0a497]7/* HTTP(S) module                                                       */
[8a9afe4]8
9/*
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License with
21  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23  Suite 330, Boston, MA  02111-1307  USA
24*/
25
26#include <glib.h>
27
28#include "ssl_client.h"
29
30struct http_request;
31
32typedef void (*http_input_function)( struct http_request * );
33
34struct http_request
35{
36        char *request;
37        int request_length;
38        int status_code;
39        char *reply_headers;
40        char *reply_body;
41        int finished;
42       
43        void *ssl;
44        int fd;
45       
46        int inpa;
47        int bytes_written;
48        int bytes_read;
49       
50        http_input_function func;
51        gpointer data;
52};
53
[f3e1e92]54void *http_dorequest( char *host, int port, int ssl, char *request, http_input_function func, gpointer data );
Note: See TracBrowser for help on using the repository browser.