Authentication support for davix support for client cert x509, login password, S3 tokens.
More...
#include <string>
#include <vector>
#include "../utils/davix_types.hpp"
#include "davixx509cred.hpp"
Authentication support for davix support for client cert x509, login password, S3 tokens.
◆ authCallbackClientCertX509
typedef int(* Davix::authCallbackClientCertX509) (void *userdata, const SessionInfo &info, X509Credential *cert, DavixError **err) |
callback for advanced authentication with client cert X509
- Parameters
-
userdata | : user defined data |
info | : Session info, contains information about server requesting the certificate |
cert | : Client side credential to provide |
err | : error object to set if an error occures |
- Returns
- MUST return 0 if credential if provided with success or != 0 if error occures
◆ authCallbackLoginPasswordBasic
typedef int(* Davix::authCallbackLoginPasswordBasic) (void *userdata, const SessionInfo &info, std::string &login, std::string &password, int count, DavixError **err) |
callback for advanced authentication with client cert X509
- Parameters
-
userdata | : user defined data |
info | : Session info, contains information about server requesting the certificate |
login | : login to use |
password | : password to use |
count | : number of try |
- Returns
- MUST return 0 if success, or !=0 if an error has occures
RequestFlag
Request flag.
Definition: httprequest.hpp:72
@ OK
No Error report.
Definition: davixstatusrequest.hpp:56
@ FileNotFound
File not found (ENOENT )
Definition: davixstatusrequest.hpp:113
GetRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for GET a operation.
time_t mtime
modification time
Definition: davix_file_types.hpp:117
Definition: davfile.hpp:62
const std::string & getHost() const
void setConnectionTimeout(struct timespec *conn_timeout)
~X509Credential()
destructor
time_t atime
access time
Definition: davix_file_types.hpp:115
void setS3ListingMode(const S3ListingMode::S3ListingMode s3_listing_mode)
set listing mode flag for S3 bucket
Uri & operator=(const Uri &orig)
assignment operator
@ ParsingError
Generic Parsing Error.
Definition: davixstatusrequest.hpp:147
const char * getAnswerContent()
void ensureTrailingSlash()
ensure that the path ends with a trailing slash
time_t ctime
creation time
Definition: davix_file_types.hpp:119
int rmdir(const RequestParams *params, const std::string &url, DavixError **err)
execute a remove directory operation.
void clearAnswerContent()
Http low level request configured for PUT operation.
Definition: httprequest.hpp:364
@ CredentialNotFound
Impossible to find specified credential.
Definition: davixstatusrequest.hpp:107
dav_ssize_t readPartial(const RequestParams *params, void *buff, dav_size_t count, dav_off_t offset, DavixError **err)
Partial position independant read.
DavixError * clone()
clone Error
ssize_t pread(DAVIX_FD *fd, void *buffer, size_t count, off_t offset, DavixError **err)
do a partial read of a file in a POSIX-like approach with HTTP(S).
DAVIX_EXPORT const std::string & version()
int stat(const RequestParams *params, const std::string &str, struct stat *st, DavixError **err)
POSIX-like stat() call.
off_t lseek(DAVIX_FD *fd, off_t offset, int flags, DavixError **err)
move the cursor a davix file with HTTP(S).
void setSwiftListingMode(const SwiftListingMode::SwiftListingMode swift_listing_mode)
set listing mode flag for Swift
X509Credential & operator=(const X509Credential &orig)
assignment operator
bool getSSLCACheck() const
return the SSL Certificate authority validity check
@ InvalidHook
Invalid Hook type.
Definition: davixstatusrequest.hpp:150
@ SupportContinue100
Definition: httprequest.hpp:73
const std::string & getErrMsg() const
get the string representation of this error
void setClientCertX509(const X509Credential &cli_cert)
DEPRECATED(int putFromFd(const RequestParams *params, int fd, dav_size_t size_write, DavixError **err) throw())
uid_t owner
owner UID
Definition: davix_file_types.hpp:121
@ InvalidServerResponse
Server answer problem ( > 500 )
Definition: davixstatusrequest.hpp:128
void setProtocol(const RequestProtocol::Protocol proto)
set the request protocol ( ex : Webdav, Http-only, S3 )
Code
Definition: davixstatusrequest.hpp:54
time_t getLastModified() const
@ InvalidFileHandle
Invalid file descriptor.
Definition: davixstatusrequest.hpp:92
void put(const RequestParams *params, int fd, dav_size_t size_write)
Create/Replace file content.
dav_ssize_t pwrite64(DAVIX_FD *fd, const void *buffer, dav_size_t count, dav_off_t offset, DavixError **err)
64bits version of /ref Davix::DavPosix::pwrite
Context * clone()
clone this instance to a new context
MetalinkMode::MetalinkMode getMetalinkMode() const
get the Current Metalink mode
gid_t group
group UID
Definition: davix_file_types.hpp:123
void loadModule(const std::string &name)
load a plugin or a profile identified by name
PostRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for POST a operation.
int unlink(const RequestParams *params, const std::string &url, DavixError **err)
execute a remove file operation.
SwiftListingMode::SwiftListingMode getSwiftListingMode() const
get listing mode flag for Swift
Context(const Context &c)
copy constructor
@ UriParsingError
Error in the Webdav properties parsing.
Definition: davixstatusrequest.hpp:65
dav_ssize_t getFull(const RequestParams *params, std::vector< char > &buffer, DavixError **err)
Get the full file content in a dynamically allocated buffer.
int endRequest(DavixError **err)
Reva credentials.
Definition: davix_cs3_utils.hpp:24
Uri()
Construct an empty invalid Uri.
virtual ~DavFile()
destructor
dav_ssize_t pread64(DAVIX_FD *fd, void *buffer, dav_size_t count, dav_off_t offset, DavixError **err)
64bits version of /ref Davix::DavPosix::pread
void addPathSegment(const std::string &seg)
void setErrScope(const std::string &scope)
set the scope of this error
int deletion(const RequestParams *params, DavixError **err)
Suppress the current entity or collection.
X509 certificate.
Definition: davixx509cred.hpp:47
bool getKeepAlive() const
get the keep alive value of this request params
void * getParmState() const
internal usage
Error report system of davix.
@ FileExist
File already exist ( EEXIST )
Definition: davixstatusrequest.hpp:122
const std::string & getString() const
void setSSLCAcheck(bool chk)
disable the certificate authority validity check for the https request
void setOperationRetry(int number_retry)
number of re-try in case of operation failure
const std::string & getUserInfo() const
dav_ssize_t getAnswerSize() const
Uri parser.
Definition: davix_uri.hpp:55
Reva credential provider.
Definition: davix_cs3_utils.hpp:49
const OSToken & getOSToken() const
get the OS token used for Swift authentication
dav_ssize_t getToFd(const RequestParams *params, int fd, DavixError **err)
Get the full file content and write it to file descriptor.
struct dirent * readdir(DAVIX_DIR *dir, DavixError **err)
read an entry directory.
POSIX-like API of Davix.
Definition: davposix.hpp:63
void put(const RequestParams *params, const char *buffer, dav_size_t size_write)
Create/Replace file content.
const Uri & getUri() const
return Uri of the current file
@ OperationNonSupported
this operation is not supported
Definition: davixstatusrequest.hpp:86
DavPosix * createDavPosix()
bool queryParamExists(const std::string ¶m) const
check if the given query parameter exists
DavixException(const std::string &scope, StatusCode::Code c, const std::string &msg)
Construct a DavixException.
int loadFromFileP12(const std::string &filepath_p12_cred, const std::string &password, DavixError **err)
@ AlreadyRunning
Request already running.
Definition: davixstatusrequest.hpp:95
S3ListingMode::S3ListingMode getS3ListingMode() const
get listing mode flag for S3 bucket
utilities for X509 credential
HttpRequest(Context &context, const std::string &url, DavixError **err)
HttpRequest constructor with a defined URL from a string.
void setAcceptedRetryDelay(int delay)
void setParameters(const RequestParams ¶meters)
set the request parameter
int makeCollection(const RequestParams *params, DavixError **err)
create a collection (directory or bucket) at the current url
Main handle for Davix.
Definition: davixcontext.hpp:56
@ CredDecryptionError
Impossible to decrypt client credential for usage.
Definition: davixstatusrequest.hpp:134
void setS3MaxKey(const unsigned long s3_max_key_entries)
set maximum number of key entries return by S3 list object request
static std::string unescapeString(const std::string &str)
Unescape urI.
DAVIX_FD * open(const RequestParams *params, const std::string &url, int flags, DavixError **err)
open a file for read/write operation in a POSIX-like approach.
RequestParams()
default constructor
void setRequestMethod(const std::string &method)
set the request method ( "GET", "PUT", ... )
@ TooManyRedirects
Too many redirects.
Definition: davixstatusrequest.hpp:156
RequestParams & operator=(const RequestParams &_p)
assignment operator
StatInfo structcontainer for base file meta-data, plateform agnostic stat struct.
Definition: davix_file_types.hpp:102
Http low level request configured for DELETE operation.
Definition: httprequest.hpp:408
dav_ssize_t preadVec(DAVIX_FD *fd, const DavIOVecInput *input_vec, DavIOVecOuput *output_vec, dav_size_t count_vec, DavixError **err)
pread_vec a file in a POSIX-like approach with HTTP(S).
int beginRequest(DavixError **err)
start a multi-part HTTP Request
dav_ssize_t readBlock(char *buffer, dav_size_t max_size, DavixError **err)
void setAwsRegion(const AwsRegion ®ion)
define a Amazon S3 bucket region
void setAwsToken(const AwsToken &token)
define an Amazon S3 security token
void setRequestBody(ContentProvider &provider)
Hook (callback) functions of davix.
static Uri fromRelativePath(const Uri &uri, const std::string &relPath)
create a new Uri from URI and a relative associated path
static std::string escapeString(const std::string &str)
Escape string.
std::pair< authCallbackClientCertX509, void * > getClientCertCallbackX509() const
return the current client side callback for authentication with the associated user data
bool getRecursiveMode() const
get recursive mode for directory operations
dav_ssize_t readBlock(std::vector< char > &buffer, dav_size_t max_size, DavixError **err)
const Davix::gcloud::Credentials & getGcloudCredentials() const
get the secret key used for Azure authentication
static void clearError(DavixError **err)
clear the content of the current error and set err to NULL
const std::string & getErrScope() const
get the scope of this error
virtual ~Context()
destructor
@ WebDavPropertiesParsingError
Error in the Webdav properties parsing.
Definition: davixstatusrequest.hpp:62
void setTransparentRedirectionSupport(bool redirection)
void set100ContinueSupport(const bool enabled)
const struct timespec * getConnectionTimeout() const
get the current connexion timeout
unsigned int DAVIX_EXPORT httpUriGetPort(const Uri &uri)
HttpRequest(Context &context, const Uri &url, DavixError **err)
HttpRequest constructor with a defined URL.
dav_ssize_t getToFd(const RequestParams *params, int fd, dav_size_t size_read, DavixError **err)
Get the first 'size_read' bytes of the file and write it to file descriptor.
Main container for Davix request options.
Definition: davixrequestparams.hpp:69
const Davix::reva::Credentials & getRevaCredentials() const
get Reva Credentials
Webdav low level request configured for PROPFIND operation.
Definition: httprequest.hpp:423
URI utilities functions for davix.
RequestParams(const RequestParams ¶ms)
copy constructor
void setClientLoginPassword(const std::string &login, const std::string &password)
set login/password for HTTP Authentication
const AwsRegion & getAwsRegion() const
get Amazon S3 bucket region
void setRecursiveMode(const bool recursive_mode)
set recursive mode for directory operations
int getAcceptedRetryDelay() const
void clearCache()
clear both redirect and session cache
int checksum(const RequestParams *params, std::string &checksm, const std::string &chk_algo, DavixError **err)
compute checksum of the file with the given algorithm (MD5, CRC32, ADLER32)
@ Canceled
Operation canceled.
Definition: davixstatusrequest.hpp:137
dav_off_t lseek64(DAVIX_FD *fd, dav_off_t, int flags, DavixError **err)
64bits versions of /ref Davix::DavixPosix::lseek
static void setupError(DavixError **err, const std::string &scope, StatusCode::Code errCode, const std::string &errMsg)
create a new DavixError
const std::string & getQuery() const
bool getFlag(const RequestFlag::RequestFlag flag)
get a HttpRequest flag value
Http low level request configured for GET operation.
Definition: httprequest.hpp:350
Davix Error Handler.
Definition: davixstatusrequest.hpp:186
@ IsADirectory
This file is not a regular file but a directory ( EISDIR )
Definition: davixstatusrequest.hpp:116
void setRequestBody(const void *buffer, dav_size_t len_buff)
void setRequestBody(const std::string &body)
C++ Davix configuration API.
static std::string join(const std::string &left, const std::string &right)
Join two paths.
int close(DAVIX_FD *fd, DavixError **err)
close a existing file descriptor.
void setErrMsg(const std::string &msg)
set the string representation of this error
int executeRequest(DavixError **err)
execute this request completely
HttpRequest * createRequest(const std::string &url, DavixError **err)
server related info
Definition: davixauth.hpp:49
void fromPosixStat(const struct stat &st)
struct converter from POSIX stat
Definition: davix_file_types.hpp:126
HttpRequest(NEONRequest *req)
HttpRequest internal usage.
DAVIX_DIR * opendirpp(const RequestParams *params, const std::string &url, DavixError **err)
open a directory for listing with per entry meta-data information.
void makeCollection(const RequestParams *params=NULL)
create a collection (directory or bucket) at the current url
void discardBody(DavixError **err)
QuotaInfo & quotaInfo(const RequestParams *params, QuotaInfo &info)
retrieve quota information
Http low level request configured for POST operation.
Definition: httprequest.hpp:378
@ ConnectionProblem
Impossible to connect, host down or network problem.
Definition: davixstatusrequest.hpp:74
@ LoginPasswordError
Wrong Login and/or Password.
Definition: davixstatusrequest.hpp:104
DAVIX_EXPORT const std::string backendHeadersVersion()
Uri(const Uri &uri)
Copy constructor.
int get_quota(const RequestParams *params, const std::string &url, QuotaInfo *st, DavixError **err)
get_quota gives quota information on a directory
void setOSProjectID(const OSProjectID &id)
set the OS project id used for Swift authentication
bool fragmentParamExists(const std::string ¶m) const
check if the given fragment parameter exists
ssize_t pwrite(DAVIX_FD *fd, const void *buffer, size_t count, off_t offset, DavixError **err)
do a partial write of a file in a POSIX-like approach with HTTP(S).
@ AuthenticationError
Authentication Error.
Definition: davixstatusrequest.hpp:98
const std::vector< std::string > & listCertificateAuthorityPath() const
get the list of the current user defined CA path
int mkdir(const RequestParams *params, const std::string &url, mode_t right, DavixError **err)
execute a mkdir function with Webdav.
@ RemoteError
Definition: davixstatusrequest.hpp:144
size_t getAnswerHeaders(HeaderVec &vec_headers) const
bool operator==(const Uri &u2) const
compare oepration
std::vector< char > & getAnswerContentVec()
void setRevaCredentials(Davix::reva::Credentials &credentials)
define the Reva Credentials
Deprecated class / functions of Davix for ABI/ API compatibility.
void removeTrailingSlash()
remove the path's trailing slash, if it exists
@ DelegationError
Delegation error.
Definition: davixstatusrequest.hpp:140
void getRevaCredentialMap(Davix::reva::CredentialMap &cmap)
get Reva Credentials
DAVIX_EXPORT const std::string backendRuntimeVersion()
const std::string & getFragment() const
int getOperationRetryDelay() const
getOperationRetryDelay
void setProxyServer(const Uri &proxy_url)
StatusCode::Code getStatus() const
const SwiftAccount & getSwiftAccount() const
get the Swift account used for Swift authentication
bool equal(const Uri &u1) const
test if two URI are equals
const std::string & getPathAndQuery() const
@ ConnectionTimeout
Impossible to connect, host down or network problem.
Definition: davixstatusrequest.hpp:80
void deletion(const RequestParams *params=NULL)
Suppress the current entity or collection.
void setAwsAlternate(const bool &alternate)
set whether we're using an S3 path-based url
ssize_t read(DAVIX_FD *fd, void *buffer, size_t count, DavixError **err)
read a file in a POSIX-like approach with HTTP(S).
std::string & checksum(const RequestParams *params, std::string &checksm, const std::string &chk_algo)
compute checksum of the file
void addCertificateAuthorityPath(const std::string &path)
add the CA certificate in the directory 'path' as trusted certificate
dav_size_t size
size in bytes of the resource
Definition: davix_file_types.hpp:107
Definition: davix_cs3_utils.hpp:10
int loadFromFilePEM(const std::string &filepath_priv_key, const std::string &filepath_cred, const std::string &password, DavixError **err)
unsigned long getS3MaxKey() const
get maximun number of key entries return by S3 list object request
result of vector operations in Davix
Definition: davix_file_types.hpp:58
void setStatus(const StatusCode::Code)
set the status code for this error
void setOperationRetryDelay(int delay_retry)
Delay in second between retry attempts.
QuotaInfo structhandler to retrieve quota information.
Definition: davix_file_types.hpp:84
void setSwiftAccount(const SwiftAccount &account)
set the Swift account used for Swift authentication
@ UnknownError
Undefined error.
Definition: davixstatusrequest.hpp:165
X509Credential()
default constructor
DeleteRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest forfor a DELETE operation.
bool getSessionCaching() const
get session caching status
static std::string queryParamEscape(const std::string &str)
Escape query parameter.
@ NameResolutionFailure
DNS resolution failure.
Definition: davixstatusrequest.hpp:71
CopyMode::CopyMode getCopyMode() const
get copy mode for 3rd party copy
const RevaToken getRevaToken(std::string uri) const &
get Reva Token
void addQueryParam(const std::string &key, const std::string &value)
void setOSToken(const OSToken &token)
set the OS token used for Swift authentication
@ PermissionRefused
Permission deny, Authorisation problem ( EACCESS, EPERM )
Definition: davixstatusrequest.hpp:110
const struct timespec * getOperationTimeout() const
StatInfo & statInfo(const RequestParams *params, StatInfo &info)
execute a file meta-data query
int getAcceptedRetry() const
void swap(DavixError &err)
swap the two error content
davix file related type declarations
void addHeader(const std::string &key, const std::string &val)
virtual ~DavixError()
~DavixError
void setGcloudCredentials(const Davix::gcloud::Credentials &creds)
set the secret key for Azure authentication
Authentication support for davix support for client cert x509, login password, S3 tokens.
static void propagatePrefixedError(DavixError **newErr, DavixError *oldErr, const std::string &prefix)
propagatePrefixedError
Iterator listCollection(const RequestParams *params)
Collection listing.
void setCopyMode(const CopyMode::CopyMode copy_mode)
set copy mode for 3rd party copy
std::pair< authCallbackLoginPasswordBasic, void * > getClientLoginPasswordCallback() const
return the current login/password callback and the associated user data
const AzureSecretKey & getAzureKey() const
get the secret key used for Azure authentication
void addHeaderField(const std::string &field, const std::string &value)
const HeaderVec & getHeaders() const
return the list of custom headers configured
dav_ssize_t readToFd(int fd, DavixError **err)
@ TimeoutRedirectionError
Connection timeout during a redirection.
Definition: davixstatusrequest.hpp:153
DEPRECATED(HttpCacheToken *extractCacheToken() const)
const Uri * getProxyServer() const
const std::string & getProtocol() const
DEPRECATED(void useCacheToken(const HttpCacheToken *token))
Context & operator=(const Context &c)
assignment operator
static void propagateError(DavixError **newErr, DavixError *oldErr)
propagate an Error structure to an upper level
X509Credential(const X509Credential &orig)
copy constructor
@ UnknowError
Misspelled - kept for backward compatibility.
Definition: davixstatusrequest.hpp:168
const std::pair< AwsSecretKey, AwsAccessKey > & getAwsAutorizationKeys() const
get Amazon S3 authentication tokens
void move(const RequestParams *params, DavFile &destination)
move
int closedirpp(DAVIX_DIR *d, DavixError **err)
close a directory handle
HeadRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for a HEAD operation.
DavixException(DavixError **err)
Create a DavixEception from a DavixError, err is considered as free and invalid after creation.
bool getTransparentRedirectionSupport() const
return true if the transparent redirection mode is enabled
Http low level request interface.
const OSProjectID & getOSProjectID() const
get the OS project id used for Swift authentication
int closedir(DAVIX_DIR *d, DavixError **err)
close a directory handle
void setRequestBody(int fd, dav_off_t offset, dav_size_t len)
dav_ssize_t readSegment(char *buffer, dav_size_t max_size, DavixError **err)
Hook definitions of davix.
void setRequestBody(HttpBodyProvider provider, dav_size_t len, void *udata)
dav_ssize_t readToFd(int fd, dav_size_t read_size, DavixError **err)
Gcloud credentials.
Definition: davix_gcloud_utils.hpp:38
DavixError & operator=(const DavixError &e)
assignment operator
const std::string & getPath() const
void setFlag(const RequestFlag::RequestFlag flag, bool value)
set a HttpRequest flag
Davix Exception class.
Definition: davixstatusrequest.hpp:305
void setUserAgent(const std::string &user_agent)
set the user agent for the associated request
dav_ssize_t readPartialBufferVec(const RequestParams *params, const DavIOVecInput *input_vec, DavIOVecOuput *ioutput_vec, const dav_size_t count_vec, DavixError **err)
Vector read operation Able to do several read on several data chunk in one single operation....
void * diov_buffer
Definition: davix_file_types.hpp:59
dav_ssize_t get(const RequestParams *params, std::vector< char > &buffer)
Get the full file content to buffer.
struct stat & toPosixStat(struct stat &st)
struct converter to POSIX stat
Definition: davix_file_types.hpp:138
Uri(const std::string &uri_string)
construct a new Davix Uri from a string URL
void setAwsAuthorizationKeys(const AwsSecretKey &secret_key, const AwsAccessKey &access_key)
define a Amazon S3 private key and public key
@ SSLError
SSL/TLS layer Error.
Definition: davixstatusrequest.hpp:131
DavFile(Context &c, const Uri &url)
default constructor
StatusCode::Code getStatus() const
DavixError(const DavixError &e)
copy constructor
@ SessionCreationError
impossible to create a session
Definition: davixstatusrequest.hpp:68
dav_ssize_t readLine(char *buffer, dav_size_t max_size, DavixError **err)
void setClientCertCallbackX509(authCallbackClientCertX509 callback, void *userdata)
@ IsNotADirectory
Action impossible, is a directory or a collection.
Definition: davixstatusrequest.hpp:89
void setClientLoginPasswordCallback(authCallbackLoginPasswordBasic callback, void *userdata)
DavPosix(Context *handle)
default constructor
const std::string getFragmentParam(const std::string ¶m) const
get the value of a fragment parameter
void setAzureKey(const AzureSecretKey &key)
set the secret key for Azure authentication
const std::pair< std::string, std::string > & getClientLoginPassword() const
get login/password for HTTP Authentication
Gcloud credential provider.
Definition: davix_gcloud_utils.hpp:66
void prefetchInfo(off_t offset, dav_size_t size_read, advise_t adv)
provide information on the next file operation
void setSessionCaching(bool caching)
enable or disable the session caching
@ InvalidArgument
Invalid argument from user ( EINVAL )
Definition: davixstatusrequest.hpp:125
struct dirent * readdirpp(DAVIX_DIR *dir, struct stat *st, DavixError **err)
execute an readdirpp function
int getOperationRetry() const
getOperationRetry
RequestParams(const RequestParams *params)
conveniencecopy constructor with NULL check
bool DAVIX_EXPORT uriCheckError(const Uri &uri, DavixError **err)
const X509Credential & getClientCertX509() const
get the current client side credential
bool getAnswerHeader(const std::string &header_name, std::string &value) const
@ OperationTimeout
operation timeout
Definition: davixstatusrequest.hpp:83
bool get100ContinueSupport() const
get whether 100-continue support is enabled
RequestProtocol::Protocol getProtocol() const
get the current value of the request protocol
DAVIX_DIR * opendir(const RequestParams *params, const std::string &url, DavixError **err)
open a directory for listing.
@ RedirectionNeeded
redirection is needed manually
Definition: davixstatusrequest.hpp:77
Simple NonCopyableProtector.
Definition: davix_nocopy.hpp:29
Context()
Default constructor.
void fadvise(DAVIX_FD *fd, dav_off_t offset, dav_size_t len, advise_t advice)
give advise about next file operation
@ PartialDone
Request executed partially.
Definition: davixstatusrequest.hpp:59
@ InsufficientStorage
Insufficient storage.
Definition: davixstatusrequest.hpp:159
int stat64(const RequestParams *params, const std::string &url, StatInfo *st, DavixError **err)
64bits version of /ref Davix::DavPosix::stat.
dav_ssize_t nlink
Definition: davix_file_types.hpp:110
@ AuthentificationError
Misspelled - kept for backward compatibility.
Definition: davixstatusrequest.hpp:101
int stat(const RequestParams *params, struct stat *st, DavixError **err)
execute a POSIX-like stat() query
Http low level request configured for HEAD operation.
Definition: httprequest.hpp:393
void setKeepAlive(const bool keep_alive_flag)
set the keep alive value of the associated session
ssize_t write(DAVIX_FD *fd, const void *buf, size_t count, DavixError **err)
write a file in a POSIX-like approach with HTTP(S).
Http low level request interface.
Definition: httprequest.hpp:87
void addFragmentParam(const std::string &key, const std::string &value)
DavixError(const std::string &scope, StatusCode::Code errCode, const std::string &errMsg)
const std::string & getUserAgent() const
get the current user agent string
void setAcceptedRetry(int num_retries)
Davix File Interface.
Definition: davfile.hpp:58
HttpRequest * createRequest(const Uri &uri, DavixError **err)
DEPRECATED(dav_ssize_t getAllReplicas(const RequestParams *params, ReplicaVec &vec, DavixError **err))
PutRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for PUT a operation.
const AwsToken & getAwsToken() const
get Amazon S3 security token
@ SystemError
System call related error.
Definition: davixstatusrequest.hpp:119
void setOperationTimeout(struct timespec *ops_timeout)
DavixException(const DavixException &orig)
Copy Constructor.
PropfindRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for a PROPFIND operation.
void setMetalinkMode(const MetalinkMode::MetalinkMode mode)
void swap(RequestParams ¶ms)
@ EnvVarNotSet
Environment Variable Missing.
Definition: davixstatusrequest.hpp:162
int rename(const RequestParams *params, const std::string &source_url, const std::string &target_url, DavixError **err)
rename a target file or collection.
std::vector< DavFile > getReplicas(const RequestParams *params, DavixError **err)
return all replicas associated to this file
const bool & getAwsAlternate() const
get whether we're using an S3 path-based url
mode_t mode
Definition: davix_file_types.hpp:113
dav_ssize_t diov_size
Definition: davix_file_types.hpp:60
@ IdempotentRequest
Definition: httprequest.hpp:74