Odil
A C++11 library for the DICOM standard
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
odil::webservices Namespace Reference

Classes

struct  BulkData
 Bulk data transmitted by web services (WADO-RS, STOW, etc.) More...
 
class  HTTPRequest
 HTTP request. More...
 
class  HTTPResponse
 HTTP Response. More...
 
struct  ItemWithParameters
 This container encapsulates the item with parameters as found in varied HTTP headers (Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Type). More...
 
class  Message
 RFC 5322 Message (i.e. headers with body). More...
 
class  QIDORSRequest
 QIDO-RS request generator and parser. More...
 
class  QIDORSResponse
 QIDO-RS response generator and parser. More...
 
class  Selector
 Target (in the DICOM data model) of the request. More...
 
class  STOWRSRequest
 STOW-RS request generator and parser. More...
 
class  STOWRSResponse
 STOW-RS request generator and parser. More...
 
struct  URL
 Uniform resource locator. More...
 
class  WADORSRequest
 WADO-RS request generator and parser. More...
 
class  WADORSResponse
 WADO-RS response generator and parser. More...
 

Enumerations

enum class  Type { None , DICOM , BulkData , PixelData }
 Type of the request or response (use for WADO & QIDO). More...
 
enum class  Representation { DICOM , DICOM_XML , DICOM_JSON }
 Data representation for DICOM requests and responses. More...
 

Functions

std::istream & operator>> (std::istream &stream, HTTPRequest &request)
 Input an HTTP request from a stream.
 
std::ostream & operator<< (std::ostream &stream, HTTPRequest const &request)
 Output an HTTP request to a stream.
 
std::istream & operator>> (std::istream &stream, HTTPResponse &Response)
 Input an HTTP response from a stream.
 
std::ostream & operator<< (std::ostream &stream, HTTPResponse const &Response)
 Output an HTTP response to a stream.
 
std::istream & operator>> (std::istream &stream, ItemWithParameters &item)
 Input an AcceptableItem from a stream.
 
std::ostream & operator<< (std::ostream &stream, ItemWithParameters const &item)
 Output an AcceptableItem to a stream.
 
std::istream & operator>> (std::istream &stream, Message &message)
 Input a Message from a stream.
 
std::ostream & operator<< (std::ostream &stream, Message const &message)
 Output a Message to a stream.
 
bool is_multipart_related (Message const &message)
 Test whether the message is multipart/related.
 
std::size_t count_parts (Message const &message)
 Return the number of parts in the message, 0 if the message is not multipart/related.
 
std::string random_boundary ()
 Return a random multipart/related boundary.
 
template<typename Iterator , typename UnaryFunctor >
void transform_parts (Message const &message, Iterator destination, UnaryFunctor functor)
 Transform each part of a multipart/related message.
 
template<typename UnaryFunctor >
void for_each_part (Message const &message, UnaryFunctor functor)
 Use to call a functor for each part of a multipart/related message.
 
template<typename Iterator , typename UnaryFunction >
std::ostream & accumulate_parts (Iterator begin, Iterator end, UnaryFunction serialize, std::ostream &stream, std::string const &boundary)
 Serialize the (begin, end) sequence as a multipart/related message body in stream as described in the RFC 2046 https://tools.ietf.org/html/rfc2046#section-5.1.1.
 

Enumeration Type Documentation

◆ Representation

Data representation for DICOM requests and responses.

Enumerator
DICOM 
DICOM_XML 
DICOM_JSON 

◆ Type

enum class odil::webservices::Type
strong

Type of the request or response (use for WADO & QIDO).

DICOM means DICOM data, either in binary, XML or JSON format; bulk data is large (application-defined) data in binary format; pixel data is the pixel data stored in instances or frames, either in uncompressed or compressed format.

Enumerator
None 
DICOM 
BulkData 
PixelData 

Function Documentation

◆ accumulate_parts()

template<typename Iterator , typename UnaryFunction >
std::ostream & odil::webservices::accumulate_parts ( Iterator  begin,
Iterator  end,
UnaryFunction  serialize,
std::ostream &  stream,
std::string const &  boundary 
)

Serialize the (begin, end) sequence as a multipart/related message body in stream as described in the RFC 2046 https://tools.ietf.org/html/rfc2046#section-5.1.1.

◆ count_parts()

std::size_t odil::webservices::count_parts ( Message const &  message)

Return the number of parts in the message, 0 if the message is not multipart/related.

◆ for_each_part()

template<typename UnaryFunctor >
void odil::webservices::for_each_part ( Message const &  message,
UnaryFunctor  functor 
)

Use to call a functor for each part of a multipart/related message.

◆ is_multipart_related()

bool odil::webservices::is_multipart_related ( Message const &  message)

Test whether the message is multipart/related.

◆ operator<<() [1/4]

std::ostream & odil::webservices::operator<< ( std::ostream &  stream,
HTTPRequest const &  request 
)

Output an HTTP request to a stream.

◆ operator<<() [2/4]

std::ostream & odil::webservices::operator<< ( std::ostream &  stream,
HTTPResponse const &  Response 
)

Output an HTTP response to a stream.

◆ operator<<() [3/4]

std::ostream & odil::webservices::operator<< ( std::ostream &  stream,
ItemWithParameters const &  item 
)

Output an AcceptableItem to a stream.

◆ operator<<() [4/4]

std::ostream & odil::webservices::operator<< ( std::ostream &  stream,
Message const &  message 
)

Output a Message to a stream.

◆ operator>>() [1/4]

std::istream & odil::webservices::operator>> ( std::istream &  stream,
HTTPRequest request 
)

Input an HTTP request from a stream.

◆ operator>>() [2/4]

std::istream & odil::webservices::operator>> ( std::istream &  stream,
HTTPResponse Response 
)

Input an HTTP response from a stream.

◆ operator>>() [3/4]

std::istream & odil::webservices::operator>> ( std::istream &  stream,
ItemWithParameters item 
)

Input an AcceptableItem from a stream.

◆ operator>>() [4/4]

std::istream & odil::webservices::operator>> ( std::istream &  stream,
Message message 
)

Input a Message from a stream.

◆ random_boundary()

std::string odil::webservices::random_boundary ( )

Return a random multipart/related boundary.

◆ transform_parts()

template<typename Iterator , typename UnaryFunctor >
void odil::webservices::transform_parts ( Message const &  message,
Iterator  destination,
UnaryFunctor  functor 
)

Transform each part of a multipart/related message.