Instrument Control Lib
Framework to control Oscilloscopes, SMUs, Function Generators and DC Powersupplies via Ethernet.
http Namespace Reference

Namespaces

 detail
 

Classes

class  RequestError
 
class  ResponseError
 
struct  Uri
 
struct  HttpVersion
 
struct  Status
 
struct  Response
 
class  Request
 
class  Socket
 

Typedefs

using HeaderField = std::pair< std::string, std::string >
 
using HeaderFields = std::vector< HeaderField >
 

Enumerations

enum class  InternetProtocol : std::uint8_t { v4 , v6 }
 

Functions

int getLastError () noexcept
 
constexpr int getAddressFamily (const InternetProtocol internetProtocol)
 
template<typename C >
constexpr bool isWhiteSpaceChar (const C c) noexcept
 
template<typename C >
constexpr bool isDigitChar (const C c) noexcept
 
template<typename C >
constexpr bool isAlphaChar (const C c) noexcept
 
template<typename C >
constexpr bool isTokenChar (const C c) noexcept
 
template<typename C >
constexpr bool isVisibleChar (const C c) noexcept
 
template<typename C >
constexpr bool isObsoleteTextChar (const C c) noexcept
 
template<class Iterator >
Iterator skipWhiteSpaces (const Iterator begin, const Iterator end)
 
template<typename T , typename C , typename std::enable_if< std::is_unsigned< T >::value >::type * = nullptr>
constexpr T digitToUint (const C c)
 
template<typename T , typename C , typename std::enable_if< std::is_unsigned< T >::value >::type * = nullptr>
constexpr T hexDigitToUint (const C c)
 
template<class Iterator >
Uri parseUri (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, HttpVersionparseHttpVersion (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, std::uint16_t > parseStatusCode (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, std::string > parseReasonPhrase (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, std::string > parseToken (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, std::string > parseFieldValue (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, std::string > parseFieldContent (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, HeaderFieldparseHeaderField (const Iterator begin, const Iterator end)
 
template<class Iterator >
std::pair< Iterator, StatusparseStatusLine (const Iterator begin, const Iterator end)
 
template<typename T , class Iterator , typename std::enable_if< std::is_unsigned< T >::value >::type * = nullptr>
stringToUint (const Iterator begin, const Iterator end)
 
template<typename T , class Iterator , typename std::enable_if< std::is_unsigned< T >::value >::type * = nullptr>
hexStringToUint (const Iterator begin, const Iterator end)
 
std::string encodeRequestLine (const std::string &method, const std::string &target)
 
std::string encodeHeaderFields (const HeaderFields &headerFields)
 
template<class Iterator >
std::string encodeBase64 (const Iterator begin, const Iterator end)
 
std::vector< std::uint8_t > encodeHtml (const Uri &uri, const std::string &method, const std::vector< uint8_t > &body, HeaderFields headerFields)
 

Typedef Documentation

◆ HeaderField

using http::HeaderField = typedef std::pair<std::string, std::string>

◆ HeaderFields

using http::HeaderFields = typedef std::vector<HeaderField>

Enumeration Type Documentation

◆ InternetProtocol

enum http::InternetProtocol : std::uint8_t
strong
Enumerator
v4 
v6