forked from cern-fts/davix
-
Notifications
You must be signed in to change notification settings - Fork 0
davix IT-SDC-ID repository, sync repos with git.cern.ch
License
ffurano/davix
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
=== DAVIX === Davix provides a share library and tools for advanced file I/O with HTTP based protocols. It is compatible WebDav, S3, HTTP Davix is composed of a shared library, libdavix and of a set of utility tools for data management Libdavix offers a high level C++ File API allowing resource manipulation with abstraction of the protocol. Libdavix has been design with the following objectives in mind : - Simplicity - High performances - Reliability - Portability * Davix and libdavix Website and documentation link : http://dmc.web.cern.ch/projects/davix/home * Is Davix is an other HTTP Library ? No, Davix targets file and resources interactions. It provides a high level abstraction of the underlying HTTP protocol mechanisms * What does Davix support ? Davix supports : - all common file manipulation operations ( Stat, read, write, copy, delete, rename ) - all common posix operation ( stat/opendir/readdir/open/read/write/close/mkdir ) - Webdav and XML parsing - remote random I/O - client side credential in PEM, P12 format, VOMS proxy, RFC proxy with support of VOMS extensions - transparent redirection caching - third party copy Server to Server - Session reuse for both SSL and HTTP - Basic authentication scheme - S3 authentication - bulk operations - metalinks Davix is going to support soon : - transparent meta-link support with failover - kerberos auth * How to compile : - Davix Dependencies : - openssl - libxml-2.0 - boost (available as submodule) - doxygen ( optional, for doc generation ) - gtest ( optional, unit tests only ) - Compile : $ # For Mac OSX and grid usage, see Compile Davix in embedded mode $ git https://github.com/cern-it-sdc-id/davix.git davix $ cd davix $ mkdir build; cd build $ cmake ../ $ make - Generate doc : - * run cmake - make doc - Compile Davix in embedded mode ( no dependencies ) : $ git clone https://github.com/cern-it-sdc-id/davix.git davix $ cd davix $ git submodule update --recursive --init $ mkdir build; cd build $ cmake -D BOOST_EXTERNAL=NO ../ $ make - Compile and run unit tests : - cmake -DUNIT_TESTS=TRUE ../ - make - make test - Compile & execute func tests : * warning : functionals test needs davserver and a valid credential - " 4. cmake -DFUNCTIONAL_TESTS=TRUE ../ " - " 5. . ../test/setup_test_env.sh - " 5. make; make test" - create SRPM : - ./packaging/bin/packager_rpm.sh ./packaging/rpm/specs/ ./ - mock -r [mycfg] RPMS/davix-[...].src.rpm * How to use * Libdavix, please follow the comments in the doxygen generated documentation * Command line tools davix-ls: listing and meta-data davix-del: delete existing resource or collection davix-get: download and display the content of a resource davix-put: upload the content of a resource davix-cp: copy, support 3rd party copy davix-mk: create collection or resource. davix-mv: relocate resource * Davix Support or information : Any suggestion is welcome. please contact us on [email protected] ( CERN e-group & mailing list ) or personnaly on [email protected] Davix is an open source and free project and will stay like this. Any contribution is welcome
About
davix IT-SDC-ID repository, sync repos with git.cern.ch
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 80.8%
- Python 11.4%
- CMake 6.1%
- Shell 1.4%
- Other 0.3%