[package] name = "coap-message-utils" version = "0.3.8" description = "Utilities for using coap-message traits" documentation = "https://docs.rs/coap-message-utils/" rust-version.workspace = true license.workspace = true repository.workspace = true authors.workspace = true edition.workspace = true keywords.workspace = true categories.workspace = true [lints] workspace = true [dependencies] coap-numbers = "0.2.3" coap-message = "0.3.3" document-features = "0.2" # We could make this optional if any of the 9290 errors depended on it, but # then we'd need a lot more cfg()ing around where now dead code elimination # takes care of business. minicbor = { version = "0.19", default-features = false } defmt_0_3 = { package = "defmt", version = "0.3", optional = true } [dev-dependencies] # coap-message-implementations at version 0.1.0, but we can't say that lest # crates.io regards it as a cyclic dependency # # Feature `alloc` is used in tests. coap-message-implementations = { path = "../coap-message-implementations", features = [ "alloc" ] } cbor-diag = "0.1.12" [features] #! ## Feature flags #! ### Details of the Error struct #! #! Without these, the [Error] struct is just a code u8. ## Allow storing the RFC9290 "Unprocessed CoAP option" problem detail in Bad ## Option errors, and emit it in CBOR payloads. If this feature is not ## enabled, any such detail provided in errors is silently not emitted. error_unprocessed_coap_option = [] ## Allow storing the RFC9290 "Request Body Error Position" problem detail in ## Bad Request errors, and emit it in CBOR payloads. If this feature is not ## enabled, any such detail provided in errors is silently not emitted. error_request_body_error_position = [] ## Store a Max-Age of the error. The method [Error::with_max_age()] is only ## available when this feature is enabled. error_max_age = [] ## Store and render the title of the error (for use as a diagnostic payload or ## as RFC9290 "Title" problem detail). If this feature is not enabled, any such ## detail provided in errors is silently not emitted. ## ## The detail is also stored under certain debugging conditions (currently ## associated with `debug_assert`, but the condition may change) for the mere ## benefit of enhancing the `Debug` implementation's usability. ## ## When other details are present (so that RFC9290 format is used), the title ## is only shown if the underlying message provides promotion to a ## MutableWritableMessage (as is the case with many implementations), otherwise ## it is omitted for lack of an unbounded buffer to render the message in. error_title = [] ## Derive [`defmt::Format`][defmt_0_3::Format] 0.3 for [`Error`] defmt_0_3 = ["dep:defmt_0_3"] _nightly_docs = [] [badges] maintenance = { status = "actively-developed" } [package.metadata.docs.rs] all-features = true