Crate dxr

Source
Expand description

§dxr

This crate provides an implementation of XML-RPC types, (de)serialization support, and conversion between XML-RPC values and Rust values (with optional support for non-standard i8 and nil types, which can be enabled with the respective feature flags).

Support for writing XML-RPC clients / servers is provided in separate crates:

  • dxr_client: generic XML-RPC client code and a default implementation based on reqwest
  • dxr_server: generic XML-RPC server code and a default implementation based on axum

The table below lists XML-RPC types and their equivalent Rust types.

XML-RPC value typeRust type
i4i32
i8i64
booleanbool
stringString / &str
doublef64
dateTime.iso8601chrono::NaiveDateTime
base64Vec<u8>
nilOption<T>

Additionally, the TryFromValue and TryToValue traits (which implement the conversion between XML-RPC value types and Rust types) are implemented for

(as long as the inner type T also implement these traits).

§Features

This crate provides optional features, all of which are disabled by default:

  • derive: include procedural macros for deriving the TryFromValue and TryToValue traits for custom structs
  • i8: enable support for the non-standard i8 value type
  • nil: enable support for the non-standard nil value type

Re-exports§

pub use chrono;

Structs§

Fault
XML-RPC server fault (consisting of a numeric error code and a message)
FaultResponse
XML-RPC fault response type
MethodCall
XML-RPC method call type
MethodResponse
XML-RPC method response type
Value
XML-RPC value type

Enums§

DxrError
Error type representing conversion errors between XML-RPC values and Rust values.

Constants§

XML_RPC_DATE_FORMAT
Date & time format used by the XML-RPC dateTime.iso8601 value type

Traits§

TryFromParams
Trait for converting from XML-RPC method call argument lists to Rust values.
TryFromValue
Trait for converting from XML-RPC values to Rust values.
TryToParams
Trait for converting from Rust values to XML-RPC method call arguments.
TryToValue
Trait for converting from Rust values to XML-RPC values.

Functions§

deserialize_xml
Function for deserializing values from XML.
from_multicall_paramsmulticall
Convenience method for reconstructing method calls from “system.multicall” arguments.
into_multicall_paramsmulticall
Convenience method for constructing arguments for “system.multicall” calls.
into_multicall_responsemulticall
Convenience method for constructing return values for “system.multicall” calls.
serialize_xml
Custom function for serializing values as XML.

Derive Macros§

TryFromValuederive
Procedural macro for deriving an implementation of the TryFromValue trait for structs.
TryToValuederive
Procedural macro for deriving an implementation of the TryToValue trait for structs.