@@ -99,16 +99,17 @@ mapping information alongside the protocol-agnostic definitions.
9999
100100# Structure
101101
102- Protocol mapping is required to map a protocol-agnostic affordance to
103- a protocol-specific operation, as implementations of the same affordance
104- will differ between protocols. For example, BLE will address a property
105- as a service characteristic, while a property in Zigbee is addressed
106- as an attribute in a cluster of an endpoint.
102+ Protocol mapping is required to map a protocol-agnostic affordance to a
103+ protocol-specific operation, as implementations of the same affordance will
104+ differ between protocols. For example, BLE will address a property as a service
105+ characteristic, while a property in Zigbee is addressed as an attribute in a
106+ cluster of an endpoint. Again, HTTP is addressed by a method, an endpoint path,
107+ an optional query string, optional headers, and an optional body.
107108
108109A protocol mapping object is a JSON object identified by the `sdfProtocolMap`
109110keyword. Protocol-specific properties are embedded within this object, organized
110- by protocol name, e.g., "ble" or "zigbee". The protocol name MUST be specified
111- in the IANA registry requested in {{iana-prot-map}}.
111+ by protocol name, e.g., "ble" or "zigbee" or "http" . The protocol name MUST be
112+ specified in the IANA registry requested in {{iana-prot-map}}.
112113
113114~~~ aasvg
114115sdfProtocolMap
@@ -118,19 +119,24 @@ sdfProtocolMap
118119 | +--> BLE-specific mapping
119120 |
120121 +-----> zigbee
122+ | |
123+ | +--> Zigbee-specific mapping
124+ |
125+ +-----> http
121126 |
122- +--> Zigbee -specific mapping
127+ +--> HTTP -specific mapping
123128~~~
124129{: # protmap title="Property Mapping"}
125130
126131As shown in {{protmap}}, protocol-specific properties must be embedded in an
127- sdfProtocolMap object, for example a "ble" or a "zigbee" object.
132+ sdfProtocolMap object, for example a "ble" or a "zigbee" or a "http" object.
128133
129134
130135| Attribute | Type | Example |
131136+-----------+--------+------------------------------------------|
132137| ble | object | an object with BLE-specific attributes |
133138| zigbee | object | an object with Zigbee-specific attributes|
139+ | http | object | an object with HTTP-specific attributes |
134140{: # proobj title="Protocol objects"}
135141
136142where-
@@ -139,6 +145,8 @@ where-
139145 protocol.
140146 - " zigbee" is an object containing properties that are specific to the
141147 Zigbee protocol.
148+ - " http" is an object containing properties that are specific to the HTTP
149+ protocol.
142150 - Other protocol mapping objects can be added by creating a new protocol
143151 object
144152
@@ -471,6 +479,7 @@ Following protocol mappings are described in this document:
471479|--------------|-----------------------------|---------------------------------------------|-----------------|
472480| ble | Bluetooth Low Energy (BLE) | Protocol mapping for BLE devices | This document |
473481| zigbee | Zigbee | Protocol mapping for Zigbee devices | This document |
482+ | http | HTTP | Protocol mapping for HTTP IP-based devices | This document |
474483{: # protmap-reg title="Protocol Mapping Registry"}
475484
476485--- back
@@ -483,6 +492,8 @@ Following protocol mappings are described in this document:
483492{::include cddl/ble-event-map.cddl}
484493
485494{::include cddl/zigbee-protocol-map.cddl}
495+
496+ {::include cddl/http-protocol-map.cddl}
486497~~~
487498
488499# Acknowledgments
0 commit comments