Rev 5534 | Rev 5769 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5534 | Rev 5732 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | get(*url, identifier, flags, *add_header); |
1 | get(*url, identifier, flags, *add_header); |
2 | *url = pointer to ASCIIZ URL |
2 | *url = pointer to ASCIIZ URL |
3 | identifier = identified of previously opened connection, or 0 to open a new one |
3 | identifier = identified of previously opened connection, or 0 to open a new one |
4 | flags = bit flags (see http.inc user flags) |
4 | flags = bit flags (see http.inc user flags and the end of this document) |
5 | *add_header = pointer to ASCIIZ additional header parameters, or null for none. |
5 | *add_header = pointer to ASCIIZ additional header parameters, or null for none. |
6 | Every additional parameter must end with CR LF bytes, including the last line. |
6 | Every additional parameter must end with CR LF bytes, including the last line. |
7 | Initiates a HTTP connection, using 'GET' method. |
7 | Initiates a HTTP connection, using 'GET' method. |
8 | - returns 0 on error, identifier otherwise. |
8 | - returns 0 on error, identifier otherwise. |
Line 9... | Line 9... | ||
9 | 9 | ||
10 | head(*url, identifier, flags, *add_header); |
10 | head(*url, identifier, flags, *add_header); |
11 | *url = pointer to ASCIIZ URL |
11 | *url = pointer to ASCIIZ URL |
12 | identifier = identified of previously opened connection, or 0 to open a new one |
12 | identifier = identified of previously opened connection, or 0 to open a new one |
13 | flags = bit flags (see http.inc user flags) |
13 | flags = bit flags (see http.inc user flags and the end of this document) |
14 | *add_header = pointer to ASCIIZ additional header parameters, or null for none. |
14 | *add_header = pointer to ASCIIZ additional header parameters, or null for none. |
15 | Every additional parameter must end with CR LF bytes, including the last line. |
15 | Every additional parameter must end with CR LF bytes, including the last line. |
16 | Initiate a HTTP connection, using 'HEAD' method. |
16 | Initiate a HTTP connection, using 'HEAD' method. |
Line 17... | Line 17... | ||
17 | - returns 0 on error, identifier otherwise |
17 | - returns 0 on error, identifier otherwise |
18 | 18 | ||
19 | post(*url, identifier, flags, *add_header, *content-type, content-length); |
19 | post(*url, identifier, flags, *add_header, *content-type, content-length); |
20 | *url = pointer to ASCIIZ URL |
20 | *url = pointer to ASCIIZ URL |
21 | identifier = identified of previously opened connection, or 0 to open a new one |
21 | identifier = identified of previously opened connection, or 0 to open a new one |
22 | flags = bit flags (see http.inc user flags) |
22 | flags = bit flags (see http.inc user flags and the end of this document) |
23 | *add_header = pointer to ASCIIZ additional header parameters, or null for none. |
23 | *add_header = pointer to ASCIIZ additional header parameters, or null for none. |
24 | Every additional parameter must end with CR LF bytes, including the last line. |
24 | Every additional parameter must end with CR LF bytes, including the last line. |
25 | *content-type = pointer to ASCIIZ string containing content type. |
25 | *content-type = pointer to ASCIIZ string containing content type. |
Line 33... | Line 33... | ||
33 | identifier = identifier which one of the previous functions returned |
33 | identifier = identifier which one of the previous functions returned |
34 | This procedure will handle all incoming data for a connection and place it in the buffer. |
34 | This procedure will handle all incoming data for a connection and place it in the buffer. |
35 | As long as the procedure expects more data, -1 is returned and the procedure must be called again. |
35 | As long as the procedure expects more data, -1 is returned and the procedure must be called again. |
36 | - When transfer is done, the procedure will return 0. |
36 | - When transfer is done, the procedure will return 0. |
37 | 37 | The receive procedure is non-blocking by default, but can be made to block by setting FLAG_BLOCK. |
|
- | 38 | ||
Line 38... | Line 39... | ||
38 | The HTTP header is placed together with some flags and other attributes in the http_msg structure. |
39 | The HTTP header is placed together with some flags and other attributes in the http_msg structure. |
39 | This structure is defined in http.inc (and not copied here because it might still change.) |
40 | This structure is defined in http.inc (and not copied here because it might still change.) |
40 | The identifier used by the functions is actually a pointer to this structure. |
41 | The identifier used by the functions is actually a pointer to this structure. |
41 | In the dword named .flags, the library will set various bit-flags indicating the status of the process. |
42 | In the dword named .flags, the library will set various bit-flags indicating the status of the process. |
Line 53... | Line 54... | ||
53 | datalength = length of the data to send (in bytes) |
54 | datalength = length of the data to send (in bytes) |
54 | This procedure can be used to send data to the server (POST) |
55 | This procedure can be used to send data to the server (POST) |
55 | - returns number of bytes sent, -1 on error |
56 | - returns number of bytes sent, -1 on error |
56 | 57 | ||
Line 57... | Line -... | ||
57 | All procedures are non blocking! |
- | |
58 | 58 | ||
- | 59 | User flags: |
|
- | 60 | ||
- | 61 | FLAG_KEEPALIVE will keep the connection open after first GET/POST/.. so you can send a second request on the same TCP session. |
|
- | 62 | In this case, the session must be closed manually when done by using the exported disconnect() function. |
|
- | 63 | ||
- | 64 | FLAG_STREAM will force receive() to put the received content in a series of fixed size buffers, instead of everything in one big buffer. |
|
- | 65 | This can be used for example to receive an internet radio stream, |
|
- | 66 | but also to download larger files for which it does not make sense to put them completely in RAM first. |
|
- | 67 | ||
- | 68 | FLAG_REUSE_BUFFER is to be used in combination with FLAG_STREAM and will make receive() function re-use the same buffer. |
|
- | 69 | This, for example, can be used when downloading a file straight to disk. |
|
- | 70 | ||
- | 71 | FLAG_BLOCK will make receive() function blocking. This is only to be used when receiving one file from a thread that has no other work. |
|
- | 72 | If however, you want to receive multiple files, or do other things in the program mainloop, |
|
- | 73 | you should use system function 10 or 23 to wait for network event before calling one or more receive() functions. |
|
- | 74 |