This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
mbed/HttpdConnection.h@81:e5e4f2264d24, 2014-06-24 (annotated)
- Committer:
- nyatla
- Date:
- Tue Jun 24 14:34:39 2014 +0000
- Revision:
- 81:e5e4f2264d24
- Parent:
- 43:a182f2b5ff41
???????????????JsonRPC??????????; LPC4088/LPC1768??????????;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 3:0a94993be1f6 | 1 | #pragma once |
nyatla | 3:0a94993be1f6 | 2 | //////////////////////////////////////////////////////////////////////////////// |
nyatla | 4:909dc70956e7 | 3 | // HttpdConnection.h |
nyatla | 3:0a94993be1f6 | 4 | //////////////////////////////////////////////////////////////////////////////// |
nyatla | 3:0a94993be1f6 | 5 | |
nyatla | 3:0a94993be1f6 | 6 | #include "NyLPC_net.h" |
nyatla | 3:0a94993be1f6 | 7 | namespace MiMic |
nyatla | 3:0a94993be1f6 | 8 | { |
nyatla | 3:0a94993be1f6 | 9 | class HttpdConnection |
nyatla | 3:0a94993be1f6 | 10 | { |
nyatla | 3:0a94993be1f6 | 11 | public: |
nyatla | 3:0a94993be1f6 | 12 | NyLPC_TcHttpdConnection* _ref_inst; |
nyatla | 4:909dc70956e7 | 13 | HttpdConnection(NyLPC_TcHttpdConnection* i_ref_inst); |
nyatla | 18:1970fec78229 | 14 | /** |
nyatla | 18:1970fec78229 | 15 | * This function returns HTTP request type. |
nyatla | 18:1970fec78229 | 16 | * See Http::MT_xxx constant value. |
nyatla | 18:1970fec78229 | 17 | */ |
nyatla | 18:1970fec78229 | 18 | int getMethodType(); |
nyatla | 18:1970fec78229 | 19 | |
nyatla | 18:1970fec78229 | 20 | /** |
nyatla | 18:1970fec78229 | 21 | * This function checks Method type if equal with i_method_type. |
nyatla | 18:1970fec78229 | 22 | */ |
nyatla | 18:1970fec78229 | 23 | bool isMethodType(int i_method_type); |
nyatla | 4:909dc70956e7 | 24 | |
nyatla | 4:909dc70956e7 | 25 | /** |
nyatla | 4:909dc70956e7 | 26 | * This function send HTTP response header to connection. |
nyatla | 4:909dc70956e7 | 27 | * The function is useful for unknown length content. |
nyatla | 4:909dc70956e7 | 28 | * @param i_additional_header |
nyatla | 4:909dc70956e7 | 29 | * Additional header text. |
nyatla | 4:909dc70956e7 | 30 | * The text which was divided in CRLF and closed by CRLF. |
nyatla | 4:909dc70956e7 | 31 | */ |
nyatla | 4:909dc70956e7 | 32 | bool sendHeader(unsigned short i_status_code,const char* i_content_type,const char* i_additional_header); |
nyatla | 4:909dc70956e7 | 33 | |
nyatla | 4:909dc70956e7 | 34 | /** |
nyatla | 4:909dc70956e7 | 35 | * This function send HTTP response header to connection. |
nyatla | 4:909dc70956e7 | 36 | * The function is useful for known length content. |
nyatla | 4:909dc70956e7 | 37 | */ |
nyatla | 4:909dc70956e7 | 38 | bool sendHeader(unsigned short i_status_code,const char* i_content_type,const char* i_additional_header,unsigned int i_length); |
nyatla | 4:909dc70956e7 | 39 | /** |
nyatla | 43:a182f2b5ff41 | 40 | * This function send HTTP error response with empty body. |
nyatla | 43:a182f2b5ff41 | 41 | */ |
nyatla | 43:a182f2b5ff41 | 42 | bool sendError(unsigned short i_status_code); |
nyatla | 43:a182f2b5ff41 | 43 | |
nyatla | 43:a182f2b5ff41 | 44 | /** |
nyatla | 4:909dc70956e7 | 45 | * This function send formated text to response. |
nyatla | 4:909dc70956e7 | 46 | * The function can be repeatedly called until the end of contents. |
nyatla | 4:909dc70956e7 | 47 | */ |
nyatla | 4:909dc70956e7 | 48 | bool sendBody(const void* i_data,NyLPC_TUInt32 i_size); |
nyatla | 4:909dc70956e7 | 49 | |
nyatla | 4:909dc70956e7 | 50 | /** |
nyatla | 4:909dc70956e7 | 51 | * The function send formated text to response. |
nyatla | 4:909dc70956e7 | 52 | * The function can be repeatedly called until the end of contents. |
nyatla | 4:909dc70956e7 | 53 | * @param i_fmt |
nyatla | 4:909dc70956e7 | 54 | * printf like string |
nyatla | 4:909dc70956e7 | 55 | * %% - '%' charactor ,%s - null terminated string ,%d - 32bit signed integer,%x - 32bit intager ,%u - 32bit unsigned integer ,%c - a charactor |
nyatla | 4:909dc70956e7 | 56 | * @param ... |
nyatla | 4:909dc70956e7 | 57 | * |
nyatla | 4:909dc70956e7 | 58 | */ |
nyatla | 7:2b33a8d84eb3 | 59 | bool sendBodyF(const char* i_fmt,...); |
nyatla | 7:2b33a8d84eb3 | 60 | /** |
nyatla | 7:2b33a8d84eb3 | 61 | * The function gets httpd lock. |
nyatla | 7:2b33a8d84eb3 | 62 | * This lock is the only lock in the Httpd. |
nyatla | 7:2b33a8d84eb3 | 63 | * After call the function, must call unlock function by end of handler. |
nyatla | 7:2b33a8d84eb3 | 64 | */ |
nyatla | 7:2b33a8d84eb3 | 65 | void lockHttpd(); |
nyatla | 7:2b33a8d84eb3 | 66 | /** |
nyatla | 7:2b33a8d84eb3 | 67 | * The function releases the httpd lock. |
nyatla | 7:2b33a8d84eb3 | 68 | */ |
nyatla | 19:33b9ba0859ee | 69 | void unlockHttpd(); |
nyatla | 81:e5e4f2264d24 | 70 | /** |
nyatla | 81:e5e4f2264d24 | 71 | * The function breaks the persist connection if it enabled. |
nyatla | 81:e5e4f2264d24 | 72 | */ |
nyatla | 81:e5e4f2264d24 | 73 | void breakPersistentConnection(); |
nyatla | 81:e5e4f2264d24 | 74 | |
nyatla | 3:0a94993be1f6 | 75 | }; |
nyatla | 3:0a94993be1f6 | 76 | } |