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()
Auto Trait Implementations§
impl Freeze for MoexError
impl !RefUnwindSafe for MoexError
impl Send for MoexError
impl Sync for MoexError
impl Unpin for MoexError
impl UnsafeUnpin for MoexError
impl !UnwindSafe for MoexError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.