[Gambas-devel] Net 0.2.0 (Alpha)

Daniel Campos danielcampos at ...45...
Sat Jan 17 22:44:24 CET 2004


Hi all!

This is a very experimental version of the new "net" component,
that for the first time, uses libcurl to manage HTTP protocol;
 
Note that you'll need libcurl 7.10.8 to compile it, as previous
versions lacks of some properties needed to compile it.

You'll also need gambas-0.81

In net/doc folder, you'll find some information to compile and
use this version.

There are lot of changes :

Net changes
-----------

* Now net are two components:

	- 'net' : basic stuff
	- 'advanced net' : classes that needs libcurl to work (HttpClient at
this moment)

* Now there's a new class 'NetCode' in which you'll find all constants
that were placed
in all the rest of classes in previous versions (status, error codes,
etc)

* 'Network advanced' has also a class to do the same as 'NetCode',
called 'AdvancedCode'
which will include all constants needed for HTTP,FTP, etc

The new HttpClient
------------------

* Host, Document and Port properties do not exist anymore, now, there's
a
property called "URL" in which you can put all data in url format, some
examples:

127.0.0.1

http://localhost/index.html

yntp://localhost/index.html <-- the 'wrong' part "yntp" will be ignored

http://stratoria.dynu.net:85/Actualites.html  <-- port 85 instead of
default 80

* Cookies:

	- CookiesFile : if you place here a zero string (""), HttpClient will
not manage
	cookies (default), but if you place here the path to a file containing
cookies
	in plain, netscape or mozilla format, it will use use them and it will
also manage cookies
	from current session in memory. If you place the path to a non existing
or not readable
	file, it will also manage cookies from current session in memory. By
default, cookies from
	current session are deleted once you free the object or call Stop()
method

	- UpdateCookies : by default, cookie file (if any) is not updated with
the new cookies
	arrived from current session, so they're lost when you free the object
or call 'Stop'
	method. If you set this value to TRUE, cookies file will be updated
with the new cookies
	once you free the object or call to 'Stop' method

* Stop method : previous versions of 'HttpClient' were working with
'connection : close' header,
so once a document was received from server, connection with server was
broken. Now it uses
'connection : keep-alive', that means that (if server accepts it),
connection will be alive to
reuse it to receive new documents from that server, with less waste of
resources. Now, if you
use 'Stop' method when status is 0 (Inactive), connection with server
will be closed if it
was alive, and cookies will be also stored in a file if
UpdateCookies=TRUE and CookiesFile is
set to a valid path

* 'Receive' method exists no more, as now, HttpClient inherits from
'.Stream', so you can use
 'READ' standard method instead ('READ' is the only stream method that
owrks, at this moment)

* 'Get' and 'Put' methods have changed : Now they are:

	Get (Optional TargetFile As String)

	- if you do not use 'TargetFile' as parameter, you will receive the URL
requested as usual: when
	data is coming from server, HttpClient saves it in memory until you use
'READ' stream method,
	and each time new data arrives, 'HttpClient.Read' event raises.

	- if you use 'TargetFile' as parameter, requested URL will be saved in
the local file you have
	specified as parameter, instead of saving it in memory, and you will
not receive 'HttpClient.Read' events.

	Put(ContentType As String,Data As String, Optional TargetFile As
String)

* User and authentication :

	- User : the name and password of the user to access to HTTP server,
you must set it
	in user:password format, for example User="myself:mypass"
	- Auth : authentication type supported by HTTP server : basic, NTLM,
Digest, GSS

* Proxy support : now HttpClient can manage authentication :

	- Proxy : URL from Proxy, for instance : 192.168.0.1:8080
	- ProxyType : can be a HTTP proxy, or a Socks-5 proxy
	- ProxyAuth : authentication supported by Proxy : Basic or NTLM



Regards,

Daniel Campos


-- 
Daniel Campos <danielcampos at ...45...>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: net_0_2_0_gb_0_8_1.tar.bz2
Type: application/x-bzip
Size: 51770 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/devel/attachments/20040117/0660bda0/attachment.bin>


More information about the Devel mailing list