Commit Graph

64 Commits

Author SHA1 Message Date
jfiat
c4e25a3091 Added {CURL_EXTERNALS}.slist_free_all
review#7828040

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@88674 8089f293-4706-0410-a29e-feb5c42a2edf
2012-05-02 19:58:42 +00:00
jfiat
081392529c Better use C_STRING.substring (1, size) instead of C_STRING.string since we know the exact size
and this way, no risk with \0 character inside the string itself  (for binary data..)

Added comments

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@88401 8089f293-4706-0410-a29e-feb5c42a2edf
2012-03-13 17:36:43 +00:00
larryl
ad2a498fc0 Added cURL multi interface support (most APIs) issue#7305157
The multi interface offers several abilities that the easy interface doesn't. They are mainly:
1. Enable a "pull" interface. The application that uses libcurl decides where and when to ask libcurl to get/send data.
2. Enable multiple simultaneous transfers in the same thread without making it complicated for the application.
3. Enable the application to wait for action on its own file descriptors and curl's file descriptors simultaneous easily.
		
More info: http://curl.haxx.se/libcurl/c/libcurl-multi.html



git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@88299 8089f293-4706-0410-a29e-feb5c42a2edf
2012-02-14 02:52:03 +00:00
manus
1ab3832685 Removed the ECF bounds license file and replaced them with `license.lic' files.
Made sure all license are the Eiffel Forum License 2.

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@88213 8089f293-4706-0410-a29e-feb5c42a2edf
2012-01-20 16:35:05 +00:00
jfiat
2b7043f670 Fixed bug#18008: Function {CURL_OPT_CONSTANTS}.libcurl_version has wrong type
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@88050 8089f293-4706-0410-a29e-feb5c42a2edf
2011-11-28 08:21:54 +00:00
larryl
f17f785ee3 Added simple readme file to cURL library. It tells user the cURL library need 3 DLLs to work.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@87608 8089f293-4706-0410-a29e-feb5c42a2edf
2011-10-25 08:03:57 +00:00
jfiat
19637b616b Be sure to set the Result /= 0 (i.e ECURLE_OK) when error occurred.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@87340 8089f293-4706-0410-a29e-feb5c42a2edf
2011-09-27 08:06:20 +00:00
jfiat
8034123683 Added a few missing CURLOPT_ constants
Grouped constants by category

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@87244 8089f293-4706-0410-a29e-feb5c42a2edf
2011-09-20 14:06:20 +00:00
manus
3af8d34f0f * Use READABLE_STRING_GENERAL instead of STRING_GENERAL for routines expecting a string. This enables us to use IMMUTABLE_STRINGs as argument without conversion.
* As a consequence we are also now using `same_string' instead of `is_equal' to compare strings which will handle any type of strings.
* Enforced the rule that arguments are READABLE_STRING_GENERAL and queries are STRING_32 when unicode is expected.
* The most delicate part of the change was the update of the encoding library. Now we have two queries:last_converted_string_32 and last_converted_string_8 in addition of the typeless last_converted_string. The idea is that if you know that you are converting to something where characters are at least 2 bytes wide, you know that you have to use STRING_32, otherwise it will be STRING_8.
* Unlike STRING_GENERAL, READABLE_STRING_GENERAL does not have a conversion to STRING_32 and thus in a few places we had to use `as_string_32' for explicit conversion which I found better.


git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@85350 8089f293-4706-0410-a29e-feb5c42a2edf
2011-01-13 23:53:42 +00:00
larryl
d0ca77f104 Added linux-x86' and linux-x86-64' to SVN ignore list
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@83576 8089f293-4706-0410-a29e-feb5c42a2edf
2010-06-15 09:23:11 +00:00
manus
3c0d342704 Updated to match the new config.sh file used on Windows, so that it can work with MSC (already the case) but also with MinGW on a multiprocessor architecture.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@83539 8089f293-4706-0410-a29e-feb5c42a2edf
2010-06-11 23:30:18 +00:00
jfiat
e78d34774e missing curlopt_userpwd case for `is_valid'
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@83514 8089f293-4706-0410-a29e-feb5c42a2edf
2010-06-10 12:31:16 +00:00
larryl
eb57cb1973 Added CURLOPT_CUSTOMREQUEST
More info please check:
http://curl.haxx.se/libcurl/c/curl_easy_setopt.html

Contributed by Javier Hector

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@83453 8089f293-4706-0410-a29e-feb5c42a2edf
2010-06-08 03:09:06 +00:00
manus
3d669e3043 Moved the experimental branch to be the default for libraries.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@82581 8089f293-4706-0410-a29e-feb5c42a2edf
2010-03-16 03:07:44 +00:00
manus
683aa808ad In non-experimental version of EiffelStudio we do not distribute void-safe version of the libraries as it does not make sense (since it would convey the message that it is void-safe when it is actually not void-safe).
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@81549 8089f293-4706-0410-a29e-feb5c42a2edf
2009-11-14 00:46:07 +00:00
larryl
7717502363 Added useful comments
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@81175 8089f293-4706-0410-a29e-feb5c42a2edf
2009-10-15 14:38:50 +00:00
larryl
eefd98c630 Added automatic license files for docking and cURL library
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@80413 8089f293-4706-0410-a29e-feb5c42a2edf
2009-08-25 09:40:26 +00:00
larryl
ee8bce82b2 Added curlopt_proxy constant
Contributed by Heiko Gering

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@79745 8089f293-4706-0410-a29e-feb5c42a2edf
2009-07-13 09:07:05 +00:00
manus
764372f072 Updated safe-version to also use the API wrapper library otherwise it does not compile.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@78752 8089f293-4706-0410-a29e-feb5c42a2edf
2009-05-18 21:06:56 +00:00
dfurrer
8ddc27b9cb - Adding the necessary platform-specific implementations (stubs atm) to build EiffelStudio using the Cocoa Vision2 implementation (without GTK+ dependencies).
- There is a new target "bench_cocoa" in ec.ecf which builds the native Mac version of EiffelStudio 



git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@78745 8089f293-4706-0410-a29e-feb5c42a2edf
2009-05-18 16:06:27 +00:00
larryl
5d63551002 Updated cURL library to use API wrapper library
Then removed useless classes such as {API_LOADER} {API_LOADER_IMP}, removed useless library references such as Vision2 and WEL

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@78736 8089f293-4706-0410-a29e-feb5c42a2edf
2009-05-18 04:33:10 +00:00
manus
03851ac02e Updated to 1-5-0 schema version of ECFs.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@78475 8089f293-4706-0410-a29e-feb5c42a2edf
2009-05-01 21:42:03 +00:00
jfiat
7e2a847e39 cosmetic
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@78170 8089f293-4706-0410-a29e-feb5c42a2edf
2009-04-10 08:45:10 +00:00
manus
0759dfe1a7 Use new `note' syntax.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@78146 8089f293-4706-0410-a29e-feb5c42a2edf
2009-04-09 18:51:20 +00:00
jfiat
dae6d64f82 Added curl_easy_getinfo. Associated constants and also CURLOPT_USERPWD.
Minor optimization and cosmetics.

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@77794 8089f293-4706-0410-a29e-feb5c42a2edf
2009-03-19 08:18:02 +00:00
jfiat
6bb5b0bac8 Removed erroneous precondition `exists', since we can call slist_append with null pointer to get an initialized pointer.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@77774 8089f293-4706-0410-a29e-feb5c42a2edf
2009-03-18 08:21:46 +00:00
manus
e3d8fbb263 Removed duplicated `local_realclean' definition which could cause a Makefile execution to fail when
launching multiple jobs on a slow file system and slow OS.
Fixed the one already committed for EiffelNet as we had removed `local_clean' which is still needed for
  the `clean' target.


git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@77516 8089f293-4706-0410-a29e-feb5c42a2edf
2009-03-04 00:51:24 +00:00
larryl
caf6d8c528 Added features related with curlopt_readfunction (for setting and using read function), so users can read data from local machine and send the data to server.
Added curlopt_put and other constance to {CURL_OPT_CONSTATNS} which used by {CURL_EASY_EXTERNALS}

Contributed by Heiko Gering 

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@77404 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-27 13:02:12 +00:00
manus
e880fbde14 Use new syntax for object test and attached/detachable type.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@77298 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-24 23:44:31 +00:00
manus
9e27a52670 To make transition easier, we are preserving `make_from_c' as creation procedure in the STRING classes
and therefore we should use it instead of `make_from_c_pointer' that will be obsoleted soon.


git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@77047 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-06 22:45:24 +00:00
king
816e5b4d6c Fixed typo from previous commit
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@76967 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-04 17:02:38 +00:00
king
9a4a1a3a40 Fixed typo from previous commit
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@76966 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-04 17:01:51 +00:00
manus
93b74d0d5e Added back vision2 since used for the API_LOADER_IMP on Unix but this time with an explicit conditional.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@76965 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-04 16:58:59 +00:00
manus
925fdcd979 Made the cURL library void-safe.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@76961 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-04 01:05:57 +00:00
manus
2f1e4e561b Removed vision2 since not used.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@76960 8089f293-4706-0410-a29e-feb5c42a2edf
2009-02-04 01:04:28 +00:00
manus
5506ab09dc Removal of `is' keyword.
Replacement of `is' by `=' for constant definitions.
Replaced `indexing' by `note'.


git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@76420 8089f293-4706-0410-a29e-feb5c42a2edf
2008-12-29 20:27:11 +00:00
manus
544b5784ae Moved API_LOADER class to where it was used, i.e. the cURL library.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@75972 8089f293-4706-0410-a29e-feb5c42a2edf
2008-12-01 19:34:30 +00:00
paulb
9ef3391b26 Added major version to load the shared library according to rules of ldconfig and the like on other OSs.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@74121 8089f293-4706-0410-a29e-feb5c42a2edf
2008-07-18 20:07:15 +00:00
larryl
a06fbd5f0b Use precondition instead of raising an exception.
Fixed bug#14062: CURL dynamic library not found exception is causing an internal failure in WEL

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@72612 8089f293-4706-0410-a29e-feb5c42a2edf
2008-03-05 11:06:41 +00:00
larryl
098032e815 Raise an exception when cURL dynamic library not found.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@72546 8089f293-4706-0410-a29e-feb5c42a2edf
2008-02-29 03:43:43 +00:00
paulb
893fce5706 Reverted to is_mac
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@72174 8089f293-4706-0410-a29e-feb5c42a2edf
2008-02-01 16:42:36 +00:00
paulb
839cb26d7e changed platform query is_mac' to is_mac_os'
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@72173 8089f293-4706-0410-a29e-feb5c42a2edf
2008-02-01 16:36:55 +00:00
paulb
b1952a6e2c Added query for Mac OS as a platform in PLATFORM.
Fixed cURL library to ustilize Mac OS dylib version of libcurl


git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@72154 8089f293-4706-0410-a29e-feb5c42a2edf
2008-01-31 21:02:28 +00:00
jfiat
3b231019ea Added {CURL_OPT_CONSTANTS}.curlopt_followlocation
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71900 8089f293-4706-0410-a29e-feb5c42a2edf
2008-01-14 11:50:55 +00:00
larryl
60b99e48d4 Added `global_cleanup' which declared as curl_global_cleanup() in C.
Added comments.

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71817 8089f293-4706-0410-a29e-feb5c42a2edf
2008-01-09 06:50:07 +00:00
larryl
987c18198e Added http header related features. It means we can change http header by setting a list ourself.
Wrapped more cURL constants.

Added `release_item' in {CURL_FORM} which is useful to clean the {CURL_FORM} generated by {CURL_EXTERNALS}.formadd_string_string.

git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71685 8089f293-4706-0410-a29e-feb5c42a2edf
2007-12-31 09:48:53 +00:00
manus
5980a724cc Removed directory integrated by mistake.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71441 8089f293-4706-0410-a29e-feb5c42a2edf
2007-12-10 17:21:34 +00:00
jfiat
7448567c53 Fully automated EiffelStudio's building using geant scripts:
It integrates part of the work done by "es-make" project from ETH (mainly on the checker script)
  This is a first step in rewriting the previous $EIFFEL_SRC/scripts/*.eant scripts to build 'ec' and make a new delivery.

Added a few standalone geant scripts in the EiffelStudio's source code, to ease the compilation.


git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71410 8089f293-4706-0410-a29e-feb5c42a2edf
2007-12-07 12:15:52 +00:00
manus
ea4be7219b Fixed bug#13627 where we had an incorrect cast.
git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71400 8089f293-4706-0410-a29e-feb5c42a2edf
2007-12-07 01:15:55 +00:00
manus
9a3e12fe12 Ensured that the library also works in finalized mode. The issue is that in finalized mode
more than one copy of `eiffel_curl.h' could be present, meaning that multiple values of
  each static declared variables could be present at run-time and in one case, one was properly
  initialized, but not the other. Fixes bug#13671.


git-svn-id: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/library/cURL@71399 8089f293-4706-0410-a29e-feb5c42a2edf
2007-12-07 01:08:12 +00:00