From da410546a00191d13de979c8c0110ea299ca3da8 Mon Sep 17 00:00:00 2001 From: Jan Romann Date: Thu, 17 Oct 2024 11:25:11 +0200 Subject: [PATCH] feat: remove CoAP subprotocol --- lib/src/binding_coap/coap_client.dart | 14 +++-------- lib/src/binding_coap/coap_client_factory.dart | 8 +----- lib/src/binding_coap/coap_definitions.dart | 17 ------------- lib/src/binding_coap/coap_extensions.dart | 25 ------------------- 4 files changed, 4 insertions(+), 60 deletions(-) diff --git a/lib/src/binding_coap/coap_client.dart b/lib/src/binding_coap/coap_client.dart index 39d47cf5..2a662dfe 100644 --- a/lib/src/binding_coap/coap_client.dart +++ b/lib/src/binding_coap/coap_client.dart @@ -435,22 +435,14 @@ final class CoapClient extends ProtocolClient accept: form.accept, ); - final subprotocol = form.coapSubprotocol ?? operationType.subprotocol; - final coapClient = coap.CoapClient( form.resolvedHref, config: _InternalCoapConfig(_coapConfig ?? const CoapConfig()), ); - if (subprotocol == CoapSubprotocol.observe) { - final observeClientRelation = await coapClient.observe(request); - observeClientRelation.listen(handleResponse); - return CoapSubscription(coapClient, observeClientRelation, complete); - } - - final response = await coapClient.send(request); - handleResponse(response); - return CoapSubscription(coapClient, null, complete); + final observeClientRelation = await coapClient.observe(request); + observeClientRelation.listen(handleResponse); + return CoapSubscription(coapClient, observeClientRelation, complete); } @override diff --git a/lib/src/binding_coap/coap_client_factory.dart b/lib/src/binding_coap/coap_client_factory.dart index 74e1d4d2..1883808d 100644 --- a/lib/src/binding_coap/coap_client_factory.dart +++ b/lib/src/binding_coap/coap_client_factory.dart @@ -8,7 +8,6 @@ import "../../core.dart"; import "coap_client.dart"; import "coap_config.dart"; -import "coap_definitions.dart"; /// A [ProtocolClientFactory] that produces CoAP clients. final class CoapClientFactory implements ProtocolClientFactory { @@ -56,11 +55,6 @@ final class CoapClientFactory implements ProtocolClientFactory { OperationType.unsubscribeevent, ]; - if (observeOperations.contains(operationType)) { - return CoapSubprotocol.tryParse(subprotocol ?? "") == - CoapSubprotocol.observe; - } - - return subprotocol == null; + return observeOperations.contains(operationType); } } diff --git a/lib/src/binding_coap/coap_definitions.dart b/lib/src/binding_coap/coap_definitions.dart index 6be670de..fa9618c8 100644 --- a/lib/src/binding_coap/coap_definitions.dart +++ b/lib/src/binding_coap/coap_definitions.dart @@ -50,20 +50,3 @@ enum CoapRequestMethod { static CoapRequestMethod? fromString(String stringValue) => _registry[stringValue]; } - -/// Enumeration of available CoAP subprotocols. -enum CoapSubprotocol { - /// Subprotocol for observing CoAP resources. - observe, - ; - - /// Tries to match the given [subprotocol] string to one of the known - /// [CoapSubprotocol.values]. - static CoapSubprotocol? tryParse(String subprotocol) { - if (subprotocol == "cov:observe") { - return CoapSubprotocol.observe; - } - - return null; - } -} diff --git a/lib/src/binding_coap/coap_extensions.dart b/lib/src/binding_coap/coap_extensions.dart index 00492b21..ee579ba1 100644 --- a/lib/src/binding_coap/coap_extensions.dart +++ b/lib/src/binding_coap/coap_extensions.dart @@ -36,15 +36,6 @@ extension CoapFormExtension on AugmentedForm { bool get usesAutoScheme => securityDefinitions.whereType().isNotEmpty; - /// Get the [CoapSubprotocol] for this [AugmentedForm], if one is set. - CoapSubprotocol? get coapSubprotocol { - if (subprotocol == coapPrefixMapping.expandCurieString("observe")) { - return CoapSubprotocol.observe; - } - - return null; - } - /// The Content-Format for CoAP request and response payloads. CoapMediaType get contentFormat { final formDefinition = _obtainVocabularyTerm("contentFormat"); @@ -160,22 +151,6 @@ extension OperationTypeExtension on OperationType { return CoapRequestMethod.get; } } - - /// Determines the [CoapSubprotocol] (if any) for this [OperationType]. - /// - /// The only supported subprotocol at the moment is `observe`. - CoapSubprotocol? get subprotocol { - if ([ - OperationType.subscribeevent, - OperationType.unsubscribeevent, - OperationType.observeproperty, - OperationType.unobserveproperty, - ].contains(this)) { - return CoapSubprotocol.observe; - } - - return null; - } } /// Extension for easily extracting the [content] from a [CoapResponse].