Skip to content

gadkrumholz/curl-java

 
 

Repository files navigation

                                  _   _ ____  _     
                              ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|

                                Java Interface

 This is not a complete implementation of a libcurl interface. I've made the
core work and it needs additional code to be added to get the rest of the
stuff supported.

 The interface is not set yet, bring your suggestions!

 Feel free to grab the source files in here and help out!

 The 'test.java' is the actual program that uses the curl stuff.



Version 0.2.2 features:

Only the "easy" interface is supported. No multi, no formadd, etc.
Interface class CurlWrite implements CURLOPT_WRITEFUNCTION. Interface class
CurlRead implements CURLOPT_READFUNCTION. All other setopt() callbacks are
not implemented.

Class CurlIO supports both read and write via subclassing. It does not require
to define unused callbacks in subclasses. Using this class should be preferred
to CurlRead and CurlWrite, since the former might be extended in the future
eith other callbacks, while the later will not.

At the source level, options (CURLOPT_*) are symbolized, but not the
option arguments: for the time being, you have to determine the
equivalent integer value by examining the curl.h C header file (in the
curl package).

CurlGlue class method "version" implements curl_version().


Development

If you are going to extend the CurlGlue Java class then it might be easier to
apply changes to MakeCurlGlue.pl instead of MakeCurlGlue.java; this is because
of Perl's multiline feature you can directly copy & paste the Java code into
the Perl script; MakeCurlGlue.java should then be synchronised when you've
finished. The main goal to have MakeCurlGlue.java is to remove Perl dependency
on Win32 platforms where not every Java developer who want to use curljava
might have Perl installed. The makefiles are prepared to use MakeCurlGlue.pl
instead of MakeCurlGlue.class, you only need to switch to the commented
PARSEPRG and PARSECMD vars.


Releases

No releases published

Packages

No packages published

Languages

  • C 33.0%
  • M4 27.6%
  • Java 19.7%
  • Shell 11.6%
  • Perl 5.4%
  • Makefile 2.7%