libkazv
|
Download content from the content repository. More...
#include <content-repo.hpp>
Classes | |
class | JobResponse |
Public Member Functions | |
GetContentJob (std::string serverUrl, std::string serverName, std::string mediaId, bool allowRemote=true, std::optional< FileDesc > downloadTo=std::nullopt) | |
Download content from the content repository. More... | |
GetContentJob | withData (JsonWrap j) && |
GetContentJob | withData (JsonWrap j) const & |
![]() | |
BaseJob (std::string serverUrl, std::string requestUrl, Method method, std::string jobId, std::string token={}, ReturnType returnType=ReturnType::Json, Body body=EmptyBody{}, Query query={}, Header header={}, std::optional< FileDesc > responseFile=std::nullopt) | |
~BaseJob () | |
bool | shouldReturnJson () const |
std::string | url () const |
Body | requestBody () const |
Header | requestHeader () const |
ReturnType | returnType () const |
Query | requestQuery () const |
returns the non-encoded query as an array of pairs More... | |
Method | requestMethod () const |
Response | genResponse (Response r) const |
BaseJob | withData (JsonWrap j) && |
BaseJob | withData (JsonWrap j) const & |
BaseJob | withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) && |
BaseJob | withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) const & |
json | dataJson (const std::string &key) const |
std::string | dataStr (const std::string &key) const |
std::string | jobId () const |
std::optional< std::string > | queueId () const |
JobQueuePolicy | queuePolicy () const |
std::optional< FileDesc > | responseFile () const |
Static Public Member Functions | |
static constexpr auto | needsAuth () |
static BaseJob::Query | buildQuery (bool allowRemote) |
static BaseJob::Body | buildBody (std::string serverName, std::string mediaId, bool allowRemote) |
![]() | |
static bool | contentTypeMatches (immer::array< std::string > expected, std::string actual) |
Static Public Attributes | |
static const immer::array< std::string > | expectedContentTypes { "*/*" } |
![]() | |
static Get | GET {} |
static Post | POST {} |
static Put | PUT {} |
static Delete | DELETE {} |
Additional Inherited Members | |
![]() | |
enum | ReturnType { Json, File } |
using | Method = std::variant< Get, Post, Put, Delete > |
using | Body = ::Kazv::Body |
using | BytesBody = ::Kazv::BytesBody |
using | JsonBody = ::Kazv::JsonBody |
using | EmptyBody = ::Kazv::EmptyBody |
using | Header = ::Kazv::Header |
using | Response = ::Kazv::Response |
![]() | |
void | attachData (JsonWrap data) |
Download content from the content repository.
|
explicit |
Download content from the content repository.
serverName | The server name from the mxc:// URI (the authoritory component) |
mediaId | The media ID from the mxc:// URI (the path component) |
allowRemote | Indicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to true if not provided. |
|
static |
|
static |
|
inlinestaticconstexpr |
GetContentJob Kazv::Api::GetContentJob::withData | ( | JsonWrap | j | ) | && |
GetContentJob Kazv::Api::GetContentJob::withData | ( | JsonWrap | j | ) | const & |
|
static |