This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
mbed/HttpdConnection.cpp@115:fa79286d8ea4, 2017-02-24 (annotated)
- Committer:
- furutani
- Date:
- Fri Feb 24 04:43:41 2017 +0000
- Revision:
- 115:fa79286d8ea4
- Parent:
- 81:e5e4f2264d24
Delete missing include line.; Add parameter "timeout" to TCPSocket::connect(), precv().; Fix to send ARP request to default gateway when connecting to IP address of different segment.;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 4:909dc70956e7 | 1 | #include "HttpdConnection.h" |
nyatla | 4:909dc70956e7 | 2 | namespace MiMic |
nyatla | 4:909dc70956e7 | 3 | { |
nyatla | 18:1970fec78229 | 4 | |
nyatla | 18:1970fec78229 | 5 | int HttpdConnection::getMethodType() |
nyatla | 18:1970fec78229 | 6 | { |
nyatla | 18:1970fec78229 | 7 | return NyLPC_cHttpdConnection_getMethod(this->_ref_inst); |
nyatla | 18:1970fec78229 | 8 | } |
nyatla | 18:1970fec78229 | 9 | |
nyatla | 18:1970fec78229 | 10 | bool HttpdConnection::isMethodType(int i_method_type) |
nyatla | 18:1970fec78229 | 11 | { |
nyatla | 18:1970fec78229 | 12 | return NyLPC_cHttpdConnection_getMethod(this->_ref_inst)==i_method_type; |
nyatla | 18:1970fec78229 | 13 | } |
nyatla | 18:1970fec78229 | 14 | |
nyatla | 4:909dc70956e7 | 15 | HttpdConnection::HttpdConnection(NyLPC_TcHttpdConnection* i_ref_inst) |
nyatla | 4:909dc70956e7 | 16 | { |
nyatla | 4:909dc70956e7 | 17 | this->_ref_inst=i_ref_inst; |
nyatla | 4:909dc70956e7 | 18 | } |
nyatla | 43:a182f2b5ff41 | 19 | bool HttpdConnection::sendError(unsigned short i_status_code) |
nyatla | 43:a182f2b5ff41 | 20 | { |
nyatla | 43:a182f2b5ff41 | 21 | return NyLPC_TBool_TRUE==NyLPC_cHttpdConnection_sendResponseHeader2(this->_ref_inst,i_status_code,"text/html",0,NULL); |
nyatla | 43:a182f2b5ff41 | 22 | } |
nyatla | 4:909dc70956e7 | 23 | bool HttpdConnection::sendHeader(unsigned short i_status_code,const char* i_content_type,const char* i_additional_header) |
nyatla | 4:909dc70956e7 | 24 | { |
nyatla | 4:909dc70956e7 | 25 | return NyLPC_TBool_TRUE==NyLPC_cHttpdConnection_sendResponseHeader(this->_ref_inst,i_status_code,i_content_type,i_additional_header); |
nyatla | 4:909dc70956e7 | 26 | } |
nyatla | 4:909dc70956e7 | 27 | bool HttpdConnection::sendHeader(unsigned short i_status_code,const char* i_content_type,const char* i_additional_header,unsigned int i_length) |
nyatla | 4:909dc70956e7 | 28 | { |
nyatla | 4:909dc70956e7 | 29 | return NyLPC_TBool_TRUE==NyLPC_cHttpdConnection_sendResponseHeader2(this->_ref_inst,i_status_code,i_content_type,i_length,i_additional_header); |
nyatla | 4:909dc70956e7 | 30 | } |
nyatla | 4:909dc70956e7 | 31 | bool HttpdConnection::sendBody(const void* i_data,NyLPC_TUInt32 i_size) |
nyatla | 4:909dc70956e7 | 32 | { |
nyatla | 4:909dc70956e7 | 33 | return NyLPC_TBool_TRUE==NyLPC_cHttpdConnection_sendResponseBody(this->_ref_inst,i_data,i_size); |
nyatla | 4:909dc70956e7 | 34 | } |
nyatla | 4:909dc70956e7 | 35 | bool HttpdConnection::sendBodyF(const char* i_fmt,...) |
nyatla | 4:909dc70956e7 | 36 | { |
nyatla | 4:909dc70956e7 | 37 | va_list a; |
nyatla | 4:909dc70956e7 | 38 | if(this->_ref_inst->_res_status!=NyLPC_cHttpdConnection_ResStatus_BODY) |
nyatla | 4:909dc70956e7 | 39 | { |
nyatla | 4:909dc70956e7 | 40 | NyLPC_OnErrorGoto(Error); |
nyatla | 4:909dc70956e7 | 41 | } |
nyatla | 4:909dc70956e7 | 42 | //Bodyの書込み |
nyatla | 4:909dc70956e7 | 43 | va_start(a,i_fmt); |
nyatla | 4:909dc70956e7 | 44 | if(!NyLPC_cHttpBodyWriter_formatV(&(this->_ref_inst->_body_writer),i_fmt,a)){ |
nyatla | 4:909dc70956e7 | 45 | NyLPC_OnErrorGoto(Error_Send); |
nyatla | 4:909dc70956e7 | 46 | } |
nyatla | 4:909dc70956e7 | 47 | va_end(a); |
nyatla | 4:909dc70956e7 | 48 | return true; |
nyatla | 4:909dc70956e7 | 49 | Error_Send: |
nyatla | 4:909dc70956e7 | 50 | va_end(a); |
nyatla | 4:909dc70956e7 | 51 | NyLPC_cHttpBodyWriter_finalize(&(this->_ref_inst->_in_stream)); |
nyatla | 4:909dc70956e7 | 52 | Error: |
nyatla | 4:909dc70956e7 | 53 | this->_ref_inst->_res_status=NyLPC_cHttpdConnection_ResStatus_ERROR; |
nyatla | 4:909dc70956e7 | 54 | return false; |
nyatla | 7:2b33a8d84eb3 | 55 | } |
nyatla | 7:2b33a8d84eb3 | 56 | void HttpdConnection::lockHttpd() |
nyatla | 7:2b33a8d84eb3 | 57 | { |
nyatla | 7:2b33a8d84eb3 | 58 | NyLPC_cHttpdConnection_lock(this->_ref_inst); |
nyatla | 7:2b33a8d84eb3 | 59 | } |
nyatla | 19:33b9ba0859ee | 60 | void HttpdConnection::unlockHttpd() |
nyatla | 7:2b33a8d84eb3 | 61 | { |
nyatla | 7:2b33a8d84eb3 | 62 | NyLPC_cHttpdConnection_unlock(this->_ref_inst); |
nyatla | 7:2b33a8d84eb3 | 63 | } |
nyatla | 81:e5e4f2264d24 | 64 | void HttpdConnection::breakPersistentConnection() |
nyatla | 81:e5e4f2264d24 | 65 | { |
nyatla | 81:e5e4f2264d24 | 66 | NyLPC_cHttpdConnection_setConnectionMode(this->_ref_inst,NyLPC_TcHttpdConnection_CONNECTION_MODE_CLOSE); |
nyatla | 81:e5e4f2264d24 | 67 | } |
nyatla | 4:909dc70956e7 | 68 | } |