From b3c91f068d9d59e4ec68e0395eb06410518e4fec Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Tue, 12 May 2026 18:28:17 +0200 Subject: [PATCH] Add rest query get. Signed-off-by: Pol Henarejos --- src/usb/lwip/rest.c | 12 ++++++++++++ src/usb/lwip/rest.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/usb/lwip/rest.c b/src/usb/lwip/rest.c index 598e077..a97f753 100644 --- a/src/usb/lwip/rest.c +++ b/src/usb/lwip/rest.c @@ -419,3 +419,15 @@ rest_route_handler_t rest_background_job_pop(void) { } return NULL; } + +rest_query_t *rest_query_get(const rest_request_t *request, const char *key) { + if (request == NULL || key == NULL) { + return NULL; + } + for (size_t i = 0; i < request->query_count; i++) { + if (request->query[i].key != NULL && strcmp(request->query[i].key, key) == 0) { + return &request->query[i]; + } + } + return NULL; +} diff --git a/src/usb/lwip/rest.h b/src/usb/lwip/rest.h index 30040e0..8510c75 100644 --- a/src/usb/lwip/rest.h +++ b/src/usb/lwip/rest.h @@ -190,6 +190,7 @@ extern int rest_session_cleanup_expired(time_t expiration_time); extern void rest_session_clear_all(void); extern int rest_session_derive_key(const rest_session_t *session, uint8_t sk[32]); extern int rest_session_derive_shared(const rest_session_t *session, uint8_t derived_key[32]); +extern rest_query_t *rest_query_get(const rest_request_t *request, const char *key); #if DEBUG_APDU extern void rest_debug_dump_payload(const char *tag, const char *buffer, size_t len);