29struct rest_server_context;
59 std::optional<uint16_t>
rows;
86 std::string message) {
87 return {
false, status, std::move(
code), std::move(message)};
108 const char* study_uid,
109 const char* series_uid,
110 const char* object_uid,
111 const char* content_type,
112 const char* transfer_syntax,
113 const char* anonymize,
116 const char* window_center,
117 const char* window_width,
118 const char* frame_number);
126 const wado_uri_request& request);
validation_result validate_wado_uri_request(const wado_uri_request &request)
Validate a WADO-URI request.
wado_uri_request parse_wado_uri_params(const char *study_uid, const char *series_uid, const char *object_uid, const char *content_type, const char *transfer_syntax, const char *anonymize, const char *rows, const char *columns, const char *window_center, const char *window_width, const char *frame_number)
Parse WADO-URI query parameters from an HTTP request.
bool is_supported_content_type(std::string_view content_type)
Check if a content type is supported by WADO-URI.
http_status
Common HTTP status codes.
Result of WADO-URI request validation.
std::string error_message
static validation_result error(int status, std::string code, std::string message)
static validation_result ok()
Parsed WADO-URI request parameters.
std::optional< double > window_center
Window center for rendered images (optional)
std::optional< uint16_t > rows
Output viewport rows (optional, for rendered images)
std::optional< uint16_t > columns
Output viewport columns (optional, for rendered images)
std::string series_uid
Series Instance UID (required)
std::string content_type
Requested content type (default: application/dicom)
bool anonymize
Whether to anonymize the response (optional)
std::string object_uid
SOP Instance UID (required)
std::optional< uint32_t > frame_number
Frame number for multi-frame images (1-based, optional)
std::optional< double > window_width
Window width for rendered images (optional)
std::optional< std::string > transfer_syntax
Transfer Syntax UID for transcoding (optional)
std::string study_uid
Study Instance UID (required)