This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Fork of libMiMic by Ryo Iizuka

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?

UserRevisionLine numberNew 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 }