pub enum MoexError {
Show 36 variants
InvalidBaseUrl {
base_url: &'static str,
reason: String,
},
BuildHttpClient {
source: Error,
},
MissingAsyncRateLimitSleep,
EndpointUrl {
endpoint: Box<str>,
reason: String,
},
MissingRawPath,
InvalidRawPath {
path: Box<str>,
reason: Box<str>,
},
MissingRawTable {
endpoint: Box<str>,
table: Box<str>,
},
InvalidRawTableRowWidth {
endpoint: Box<str>,
table: Box<str>,
row: usize,
expected: usize,
actual: usize,
},
InvalidRawTableRow {
endpoint: Box<str>,
table: Box<str>,
row: usize,
source: Error,
},
Request {
endpoint: Box<str>,
source: Error,
},
HttpStatus {
endpoint: Box<str>,
status: StatusCode,
content_type: Option<Box<str>>,
body_prefix: Box<str>,
},
ReadBody {
endpoint: Box<str>,
source: Error,
},
Decode {
endpoint: Box<str>,
source: Error,
},
NonJsonPayload {
endpoint: Box<str>,
content_type: Option<Box<str>>,
body_prefix: Box<str>,
},
UnexpectedSecurityRows {
endpoint: Box<str>,
row_count: usize,
},
UnexpectedHistoryDatesRows {
endpoint: Box<str>,
row_count: usize,
},
InvalidIndex {
endpoint: Box<str>,
row: usize,
source: ParseIndexError,
},
InvalidHistoryDates {
endpoint: Box<str>,
row: usize,
source: ParseHistoryDatesError,
},
InvalidHistory {
endpoint: Box<str>,
row: usize,
source: ParseHistoryRecordError,
},
InvalidTurnover {
endpoint: Box<str>,
row: usize,
source: ParseTurnoverError,
},
InvalidSiteNews {
endpoint: Box<str>,
row: usize,
source: ParseSiteNewsError,
},
InvalidEvent {
endpoint: Box<str>,
row: usize,
source: ParseEventError,
},
InvalidSecStat {
endpoint: Box<str>,
row: usize,
source: ParseSecStatError,
},
InvalidIndexAnalytics {
endpoint: Box<str>,
row: usize,
source: ParseIndexAnalyticsError,
},
InvalidEngine {
endpoint: Box<str>,
row: usize,
source: ParseEngineError,
},
InvalidMarket {
endpoint: Box<str>,
row: usize,
source: ParseMarketError,
},
InvalidBoard {
endpoint: Box<str>,
row: usize,
source: ParseBoardError,
},
InvalidSecurityBoard {
endpoint: Box<str>,
row: usize,
source: ParseSecurityBoardError,
},
InvalidSecurity {
endpoint: Box<str>,
row: usize,
source: ParseSecurityError,
},
InvalidSecuritySnapshot {
endpoint: Box<str>,
table: &'static str,
row: usize,
source: ParseSecuritySnapshotError,
},
InvalidOrderbook {
endpoint: Box<str>,
row: usize,
source: ParseOrderbookError,
},
InvalidCandleBorder {
endpoint: Box<str>,
row: usize,
source: ParseCandleBorderError,
},
InvalidCandle {
endpoint: Box<str>,
row: usize,
source: ParseCandleError,
},
InvalidTrade {
endpoint: Box<str>,
row: usize,
source: ParseTradeError,
},
PaginationOverflow {
endpoint: Box<str>,
start: u32,
limit: u32,
},
PaginationStuck {
endpoint: Box<str>,
start: u32,
limit: u32,
},
}Expand description
Ошибки выполнения запросов к ISS и конвертации wire-ответов в доменные типы.
Variants§
InvalidBaseUrl
Некорректно задан базовый URL ISS.
Fields
BuildHttpClient
Ошибка сборки reqwest::blocking::Client.
MissingAsyncRateLimitSleep
Для async rate-limit не задана функция sleep.
EndpointUrl
Не удалось построить URL конкретного endpoint.
Fields
MissingRawPath
Для raw-запроса не задан endpoint-path.
InvalidRawPath
Некорректно задан endpoint-path в raw-запросе.
MissingRawTable
В raw JSON-ответе отсутствует запрошенная таблица ISS.
Fields
InvalidRawTableRowWidth
Строка raw-таблицы содержит число значений, отличное от числа колонок.
Fields
InvalidRawTableRow
Не удалось декодировать строку raw-таблицы в пользовательский тип.
Fields
Request
Ошибка отправки HTTP-запроса до получения ответа.
HttpStatus
Endpoint вернул HTTP-статус вне диапазона 2xx.
Fields
status: StatusCodeHTTP-статус ответа.
ReadBody
Ошибка чтения тела HTTP-ответа.
Decode
Ошибка десериализации JSON-пейлоада ISS.
NonJsonPayload
Endpoint вернул payload, не похожий на JSON.
Fields
UnexpectedSecurityRows
В endpoint securities/{secid} пришло больше одной строки securities.
Fields
UnexpectedHistoryDatesRows
В history endpoint .../dates пришло больше одной строки dates.
Fields
InvalidIndex
Ошибка преобразования строки таблицы indices.
Fields
source: ParseIndexErrorДеталь ошибки парсинга доменной сущности.
InvalidHistoryDates
Ошибка преобразования строки таблицы dates из history endpoint.
Fields
source: ParseHistoryDatesErrorДеталь ошибки парсинга доменной сущности.
InvalidHistory
Ошибка преобразования строки таблицы history.
Fields
source: ParseHistoryRecordErrorДеталь ошибки парсинга доменной сущности.
InvalidTurnover
Ошибка преобразования строки таблицы turnovers.
Fields
source: ParseTurnoverErrorДеталь ошибки парсинга доменной сущности.
InvalidSiteNews
Ошибка преобразования строки таблицы sitenews.
Fields
source: ParseSiteNewsErrorДеталь ошибки парсинга доменной сущности.
InvalidEvent
Ошибка преобразования строки таблицы events.
Fields
source: ParseEventErrorДеталь ошибки парсинга доменной сущности.
InvalidSecStat
Ошибка преобразования строки таблицы secstats.
Fields
source: ParseSecStatErrorДеталь ошибки парсинга доменной сущности.
InvalidIndexAnalytics
Ошибка преобразования строки таблицы analytics.
Fields
source: ParseIndexAnalyticsErrorДеталь ошибки парсинга доменной сущности.
InvalidEngine
Ошибка преобразования строки таблицы engines.
Fields
source: ParseEngineErrorДеталь ошибки парсинга доменной сущности.
InvalidMarket
Ошибка преобразования строки таблицы markets.
Fields
source: ParseMarketErrorДеталь ошибки парсинга доменной сущности.
InvalidBoard
Ошибка преобразования строки таблицы boards.
Fields
source: ParseBoardErrorДеталь ошибки парсинга доменной сущности.
InvalidSecurityBoard
Ошибка преобразования строки таблицы boards в endpoint securities/{secid}.
Fields
source: ParseSecurityBoardErrorДеталь ошибки парсинга доменной сущности.
InvalidSecurity
Ошибка преобразования строки таблицы securities.
Fields
source: ParseSecurityErrorДеталь ошибки парсинга доменной сущности.
InvalidSecuritySnapshot
Ошибка преобразования строки таблиц securities/marketdata в снимок инструмента.
Fields
source: ParseSecuritySnapshotErrorДеталь ошибки парсинга доменной сущности.
InvalidOrderbook
Ошибка преобразования строки таблицы orderbook.
Fields
source: ParseOrderbookErrorДеталь ошибки парсинга доменной сущности.
InvalidCandleBorder
Ошибка преобразования строки таблицы borders.
Fields
source: ParseCandleBorderErrorДеталь ошибки парсинга доменной сущности.
InvalidCandle
Ошибка преобразования строки таблицы candles.
Fields
source: ParseCandleErrorДеталь ошибки парсинга доменной сущности.
InvalidTrade
Ошибка преобразования строки таблицы trades.
Fields
source: ParseTradeErrorДеталь ошибки парсинга доменной сущности.
PaginationOverflow
Переполнение счётчика start при авто-пагинации ISS.
Fields
PaginationStuck
Обнаружен зацикленный ответ при авто-пагинации ISS.
Implementations§
Source§impl MoexError
impl MoexError
Sourcepub fn is_retryable(&self) -> bool
pub fn is_retryable(&self) -> bool
Признак, что операцию обычно имеет смысл повторить с backoff.
Sourcepub fn status_code(&self) -> Option<StatusCode>
pub fn status_code(&self) -> Option<StatusCode>
HTTP-статус, если ошибка была получена после ответа сервера.
Sourcepub fn response_body_prefix(&self) -> Option<&str>
pub fn response_body_prefix(&self) -> Option<&str>
Диагностический префикс тела ответа, если он сохранён в ошибке.
Trait Implementations§
Source§impl Error for MoexError
impl Error for MoexError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()