Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iotivity-lite
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
41
Issues
41
List
Boards
Labels
Service Desk
Milestones
Merge Requests
12
Merge Requests
12
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
IoTivity
iotivity-lite
Commits
27c0247b
Commit
27c0247b
authored
Aug 24, 2020
by
Kishen Maloor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Store response media type in oc_response_buffer_t
Signed-off-by:
Kishen Maloor
<
kishen.maloor@intel.com
>
parent
133f8b07
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
20 additions
and
23 deletions
+20
-23
api/oc_collection.c
api/oc_collection.c
+1
-1
api/oc_discovery.c
api/oc_discovery.c
+2
-2
api/oc_introspection.c
api/oc_introspection.c
+1
-1
api/oc_ri.c
api/oc_ri.c
+4
-3
api/oc_server_api.c
api/oc_server_api.c
+7
-11
include/oc_ri.h
include/oc_ri.h
+0
-1
messaging/coap/observe.c
messaging/coap/observe.c
+2
-2
messaging/coap/oc_coap.h
messaging/coap/oc_coap.h
+3
-2
No files found.
api/oc_collection.c
View file @
27c0247b
...
...
@@ -922,7 +922,7 @@ oc_handle_collection_request(oc_method_t method, oc_request_t *request,
break
;
}
}
request
->
response
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
request
->
response
->
response_buffer
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
request
->
response
->
response_buffer
->
response_length
=
(
uint16_t
)
size
;
request
->
response
->
response_buffer
->
code
=
code
;
...
...
api/oc_discovery.c
View file @
27c0247b
...
...
@@ -447,7 +447,7 @@ oc_core_1_1_discovery_handler(oc_request_t *request,
}
int
response_length
=
oc_rep_get_encoded_payload_size
();
request
->
response
->
content_format
=
APPLICATION_CBOR
;
request
->
response
->
response_buffer
->
content_format
=
APPLICATION_CBOR
;
if
(
matches
&&
response_length
)
{
request
->
response
->
response_buffer
->
response_length
=
(
uint16_t
)
response_length
;
...
...
@@ -500,7 +500,7 @@ oc_core_discovery_handler(oc_request_t *request, oc_interface_mask_t iface_mask,
break
;
}
int
response_length
=
oc_rep_get_encoded_payload_size
();
request
->
response
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
request
->
response
->
response_buffer
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
if
(
matches
&&
response_length
>
0
)
{
request
->
response
->
response_buffer
->
response_length
=
(
uint16_t
)
response_length
;
...
...
api/oc_introspection.c
View file @
27c0247b
...
...
@@ -78,7 +78,7 @@ oc_core_introspection_data_handler(oc_request_t *request,
IDD_size
=
oc_storage_read
(
idd_tag
,
request
->
response
->
response_buffer
->
buffer
,
OC_MAX_APP_DATA_SIZE
);
#endif
/* OC_IDD_API */
request
->
response
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
request
->
response
->
response_buffer
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
if
(
IDD_size
>=
0
&&
IDD_size
<
OC_MAX_APP_DATA_SIZE
)
{
request
->
response
->
response_buffer
->
response_length
=
(
uint16_t
)
IDD_size
;
request
->
response
->
response_buffer
->
code
=
oc_status_code
(
OC_STATUS_OK
);
...
...
api/oc_ri.c
View file @
27c0247b
...
...
@@ -687,10 +687,10 @@ oc_ri_invoke_coap_entity_handler(void *request, void *response, uint8_t *buffer,
*/
response_buffer
.
code
=
0
;
response_buffer
.
response_length
=
0
;
response_buffer
.
content_format
=
0
;
response_obj
.
separate_response
=
NULL
;
response_obj
.
response_buffer
=
&
response_buffer
;
response_obj
.
content_format
=
0
;
request_obj
.
response
=
&
response_obj
;
request_obj
.
request_payload
=
NULL
;
...
...
@@ -1125,8 +1125,9 @@ oc_ri_invoke_coap_entity_handler(void *request, void *response, uint8_t *buffer,
coap_set_payload
(
response
,
response_buffer
.
buffer
,
response_buffer
.
response_length
);
#endif
/* !OC_BLOCK_WISE */
if
(
response_obj
.
content_format
>
0
)
{
coap_set_header_content_format
(
response
,
response_obj
.
content_format
);
if
(
response_buffer
.
content_format
>
0
)
{
coap_set_header_content_format
(
response
,
response_buffer
.
content_format
);
}
}
...
...
api/oc_server_api.c
View file @
27c0247b
...
...
@@ -75,11 +75,12 @@ oc_send_response(oc_request_t *request, oc_status_t response_code)
{
#ifdef OC_SPEC_VER_OIC
if
(
request
->
origin
&&
request
->
origin
->
version
==
OIC_VER_1_1_0
)
{
request
->
response
->
content_format
=
APPLICATION_CBOR
;
request
->
response
->
response_buffer
->
content_format
=
APPLICATION_CBOR
;
}
else
#endif
/* OC_SPEC_VER_OIC */
{
request
->
response
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
request
->
response
->
response_buffer
->
content_format
=
APPLICATION_VND_OCF_CBOR
;
}
request
->
response
->
response_buffer
->
response_length
=
(
uint16_t
)
response_length
();
...
...
@@ -196,7 +197,7 @@ oc_send_response_raw(oc_request_t *request, const uint8_t *payload, size_t size,
oc_content_format_t
content_format
,
oc_status_t
response_code
)
{
request
->
response
->
content_format
=
content_format
;
request
->
response
->
response_buffer
->
content_format
=
content_format
;
memcpy
(
request
->
response
->
response_buffer
->
buffer
,
payload
,
size
);
request
->
response
->
response_buffer
->
response_length
=
(
uint16_t
)
size
;
request
->
response
->
response_buffer
->
code
=
oc_status_code
(
response_code
);
...
...
@@ -423,6 +424,7 @@ oc_send_separate_response(oc_separate_response_t *handle,
response_buffer
.
buffer
=
handle
->
buffer
;
response_buffer
.
response_length
=
(
uint16_t
)
response_length
();
response_buffer
.
code
=
oc_status_code
(
response_code
);
response_buffer
.
content_format
=
APPLICATION_VND_OCF_CBOR
;
coap_separate_t
*
cur
=
oc_list_head
(
handle
->
requests
),
*
next
=
NULL
;
coap_packet_t
response
[
1
];
...
...
@@ -435,14 +437,8 @@ oc_send_separate_response(oc_separate_response_t *handle,
if
(
t
)
{
coap_separate_resume
(
response
,
cur
,
(
uint8_t
)
oc_status_code
(
response_code
),
t
->
mid
);
#ifdef OC_SPEC_VER_OIC
if
(
cur
->
endpoint
.
version
==
OIC_VER_1_1_0
)
{
coap_set_header_content_format
(
response
,
APPLICATION_CBOR
);
}
else
#endif
/* OC_SPEC_VER_OIC */
{
coap_set_header_content_format
(
response
,
APPLICATION_VND_OCF_CBOR
);
}
coap_set_header_content_format
(
response
,
response_buffer
.
content_format
);
#ifdef OC_BLOCK_WISE
oc_blockwise_state_t
*
response_state
=
NULL
;
...
...
include/oc_ri.h
View file @
27c0247b
...
...
@@ -100,7 +100,6 @@ typedef struct oc_response_t
{
oc_separate_response_t
*
separate_response
;
oc_response_buffer_t
*
response_buffer
;
oc_content_format_t
content_format
;
}
oc_response_t
;
typedef
enum
{
...
...
messaging/coap/observe.c
View file @
27c0247b
...
...
@@ -823,9 +823,9 @@ coap_notify_observers(oc_resource_t *resource,
}
else
{
coap_set_header_observe
(
notification
,
1
);
}
if
(
response
.
content_format
>
0
)
{
if
(
response
_buf
->
content_format
>
0
)
{
coap_set_header_content_format
(
notification
,
response
.
content_format
);
response
_buf
->
content_format
);
}
coap_set_token
(
notification
,
obs
->
token
,
obs
->
token_len
);
transaction
=
coap_new_transaction
(
coap_get_mid
(),
&
obs
->
endpoint
);
...
...
messaging/coap/oc_coap.h
View file @
27c0247b
...
...
@@ -19,10 +19,10 @@
#include "separate.h"
#include "util/oc_list.h"
#include "oc_ri.h"
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
#endif
struct
oc_separate_response_s
...
...
@@ -42,6 +42,7 @@ struct oc_response_buffer_s
uint16_t
buffer_size
;
uint16_t
response_length
;
int
code
;
oc_content_format_t
content_format
;
};
#ifdef __cplusplus
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment