aiocoap icon indicating copy to clipboard operation
aiocoap copied to clipboard

aiocoap-client update resource with body error

Open Ramzi04 opened this issue 4 years ago • 2 comments

Python version: 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] aiocoap version: 0.4.1 Modules missing for subsystems: dtls: missing DTLSSocket oscore: everything there linkheader: everything there prettyprint: everything there Python platform: linux Default server transports: oscore:tcpserver:tcpclient:tlsserver:tlsclient:ws:udp6 Selected server transports: oscore:tcpserver:tcpclient:tlsserver:tlsclient:ws:udp6 Default client transports: oscore:tcpclient:tlsclient:ws:udp6 Selected client transports: oscore:tcpclient:tlsclient:ws:udp6 SO_REUSEPORT available (default, selected): True, True

Step-1 : I run this to register a temperature resource: aiocoap-client --method POST --content-format 40 --payload '</sensors/temp>;rt="temperature-c";secure=1' coap://localhost/resourcedirectory/?ep=node1 Step-2: I run this to update the previous resource: aiocoap-client --method POST --payload 'secure=0' coap://localhost/reg/1/ I got this error: 4.00 Bad Request Registration update with body not specified Why I got this error ?

Ramzi04 avatar Jul 14 '21 08:07 Ramzi04

Because registration updates per POST have no payload as per registration update description.

There is currently no PATCH format specified for links (the section on further operations has some more details) -- you'll have to upload the whole link set again as you did in #243.

(By the way, what would that secure property indicate? During the specification of RD, no single example of the registered resources came up, so I'm curious...)

chrysn avatar Jul 14 '21 10:07 chrysn

The secure property is already defined in https://github.com/chrysn/aiocoap/issues/231#issuecomment-817352139. It is a work in progress in my fork . I will do my best to make it more mature in the future.

Ramzi04 avatar Jul 14 '21 12:07 Ramzi04