LOM2M  0.8.0
httpBinding.h
Go to the documentation of this file.
1 /*
2  Copyright (c) 2013-2021 LAAS-CNRS (www.laas.fr)
3  7 Colonel Roche 31077 Toulouse - France
4 
5  The use of this source code requires an agreement with the CNRS.
6 
7  Initial Contributors:
8  David Gauchard, Guillaume Garzone, Thierry Monteil.
9 */
10 
11 #ifndef __LOM2M_REST_HANDLER
12 #define __LOM2M_REST_HANDLER
13 
14 #include "configuration.h"
15 
16 #include "ResponsePrimitive.h"
17 #include "RequestPrimitive.h"
18 
20 {
21 public:
22  static void sendRequest(RequestPrimitive* requestPrimitive, ResponsePrimitive* responsePrimitive);
23  static int initRequestPrimitive(RequestPrimitive* requestPrimitive, const String& uri);
24  static void sendResponse(const ResponsePrimitive& responsePrimitive);
25  static void serveOM2M(const String& uri);
26  static ResponseStatusCode getRSCFromHTTP(int httpResponseCode)
27  {
28  switch (httpResponseCode)
29  {
30  case H200_OK: case H204_NoContent:
31  return R2000_OK;
32  case H201_Created:
33  return R2001_CREATED;
34  case H400_BadRequest:
35  return R4000_BAD_REQUEST;
38  case H404_NotFound:
39  return R4004_NOT_FOUND;
40  case H405_NotAllowed:
42  case H406_NotAcceptable:
43  return R5207_NOT_ACCEPTABLE;
45  return R4008_REQUEST_TIMEOUT;
46  case H409_Conflict:
47  return R4105_CONFLICT;
48  case H415_Unsupported:
50  case H500_InternalError:
53  return R5001_NOT_IMPLEMENTED;
54  case H503_Maintenance:
55  default:
57  }
58  }
59 };
60 
61 #endif
ResponseStatusCode
Definition: ResponsePrimitive.h:19
@ R5103_TARGET_NOT_REACHABLE
Definition: ResponsePrimitive.h:32
@ R4004_NOT_FOUND
Definition: ResponsePrimitive.h:28
@ R5207_NOT_ACCEPTABLE
Definition: ResponsePrimitive.h:38
@ R4008_REQUEST_TIMEOUT
Definition: ResponsePrimitive.h:30
@ R4005_OPERATION_NOT_ALLOWED
Definition: ResponsePrimitive.h:29
@ R4105_CONFLICT
Definition: ResponsePrimitive.h:31
@ R5000_INTERNAL_SERVER_ERROR
Definition: ResponsePrimitive.h:35
@ R2001_CREATED
Definition: ResponsePrimitive.h:25
@ R4000_BAD_REQUEST
Definition: ResponsePrimitive.h:26
@ R4015_UNSUPPORTED_MEDIA_TYPE
Definition: ResponsePrimitive.h:34
@ R2000_OK
Definition: ResponsePrimitive.h:21
@ R5001_NOT_IMPLEMENTED
Definition: ResponsePrimitive.h:36
@ R4103_ORIGINATOR_HAS_NO_PRIVILEGE
Definition: ResponsePrimitive.h:27
@ H200_OK
Definition: bsp.h:21
@ H401_Unauthorized
Definition: bsp.h:25
@ H404_NotFound
Definition: bsp.h:27
@ H501_NotImplemented
Definition: bsp.h:34
@ H204_NoContent
Definition: bsp.h:23
@ H201_Created
Definition: bsp.h:22
@ H409_Conflict
Definition: bsp.h:31
@ H415_Unsupported
Definition: bsp.h:32
@ H403_Forbidden
Definition: bsp.h:26
@ H406_NotAcceptable
Definition: bsp.h:29
@ H405_NotAllowed
Definition: bsp.h:28
@ H400_BadRequest
Definition: bsp.h:24
@ H500_InternalError
Definition: bsp.h:33
@ H408_RequestTimeout
Definition: bsp.h:30
@ H503_Maintenance
Definition: bsp.h:35
Definition: httpBinding.h:20
static void sendResponse(const ResponsePrimitive &responsePrimitive)
Definition: httpBinding-esp8266.cpp:458
static void serveOM2M(const String &uri)
Definition: httpBinding-esp8266.cpp:555
static ResponseStatusCode getRSCFromHTTP(int httpResponseCode)
Definition: httpBinding.h:26
static void sendRequest(RequestPrimitive *requestPrimitive, ResponsePrimitive *responsePrimitive)
Definition: httpBinding-esp8266.cpp:20
static int initRequestPrimitive(RequestPrimitive *requestPrimitive, const String &uri)
Definition: httpBinding-esp8266.cpp:201
Definition: RequestPrimitive.h:41
Definition: ResponsePrimitive.h:49