osmo-smdpp + es9p_client: HTTP status 204 is used for handleNotification

As SGP.22 states, the handleNotification endpoint uses HTTP status 204,
not 200 (due to its empty body).

Change-Id: I890bdbd3e1c4578d2d5f0367958fdce26e338cac
This commit is contained in:
Harald Welte
2024-07-16 16:53:54 +02:00
parent e18586ddf0
commit 92bae20b49
2 changed files with 4 additions and 0 deletions

View File

@@ -481,6 +481,9 @@ class SmDppHttpServer:
@rsp_api_wrapper
def handleNotification(self, request: IRequest, content: dict) -> dict:
"""See ES9+ HandleNotification in SGP.22 Section 5.6.4"""
# SGP.22 Section 6.3: "A normal notification function execution status (MEP Notification)
# SHALL be indicated by the HTTP status code '204' (No Content) with an empty HTTP response body"
request.setResponseCode(204)
pendingNotification_bin = b64decode(content['pendingNotification'])
pendingNotification = rsp.asn1.decode('PendingNotification', pendingNotification_bin)
print("Rx %s: %s" % pendingNotification)

View File

@@ -136,6 +136,7 @@ class HandleNotification(Es9PlusApiFunction):
'pendingNotification': param.PendingNotification,
}
input_mandatory = ['pendingNotification']
expected_http_status = 204
# ES9+ CancelSession function (SGP.22 section 6.5.2.10)
class CancelSession(Es9PlusApiFunction):