host/AzureRecoveryLib/resthelper/HttpRestDefs.h (58 lines of code) (raw):
/*
+------------------------------------------------------------------------------------+
Copyright(c) Microsoft Corp. 2015
+------------------------------------------------------------------------------------+
File : HttpRestDefs.h
Description : Defines useful type definitions & common structures.
History : 29-4-2015 (Venu Sivanadham) - Created
+------------------------------------------------------------------------------------+
*/
#ifndef AZURE_REST_STORAGE_HTTP_DEFS_H
#define AZURE_REST_STORAGE_HTTP_DEFS_H
#include <string>
#include <vector>
#include <map>
namespace AzureStorageRest
{
typedef std::pair<std::string, std::string> key_pair_t;
typedef std::vector<key_pair_t> parameters_t;
typedef parameters_t::iterator parameter_iter_t;
typedef unsigned long long offset_t, blob_size_t;
typedef unsigned char blob_byte_t, *pbyte_t;
typedef std::map<std::string, std::string> headers_t, metadata_t;
typedef headers_t::iterator header_iter_t, metadata_iter_t;
typedef headers_t::const_iterator header_const_iter_t, metadata_const_iter_t;
typedef struct _http_buff_stream
{
pbyte_t buffer;
unsigned long cb_buff_length;
unsigned long seek_pos;
_http_buff_stream()
{
buffer = NULL;
cb_buff_length = seek_pos = 0;
}
_http_buff_stream(pbyte_t _buffer, long _buff_lenght)
{
buffer = _buffer;
cb_buff_length = _buff_lenght;
seek_pos = 0;
}
} http_request_stream/*, http_response_stream*/;
typedef enum _RESOURCE_TYPE
{
AZURE_PAGE_BLOB,
AZURE_BLOCK_BLOB
}BLOB_TYPE;
typedef struct _azure_storage_resource_properies
{
blob_size_t size; //blob size in bytes
BLOB_TYPE type;
std::string etag;
std::string lease_status; // <available | leased | expired | breaking | broken>
std::string lease_state; // <locked| unlocked>
std::string lease_duration; // <infinite | fixed>
std::string last_modified;
metadata_t metadata;
}blob_properties;
typedef enum
{
HTTP_HEAD,
HTTP_GET,
HTTP_PUT,
HTTP_POST,
HTTP_DELETE
}HTTP_METHOD;
}
#endif // ~AZURE_REST_STORAGE_HTTP_DEFS_H