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

Fork of libMiMic by Ryo Iizuka

Committer:
furutani
Date:
Fri Feb 24 04:43:41 2017 +0000
Revision:
115:fa79286d8ea4
Parent:
36:f02596009a02
Child:
66:ee7866efe5e6
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?

UserRevisionLine numberNew contents of line
nyatla 17:f29e1ca90e3d 1 #include "NyLPC_http.h"
nyatla 17:f29e1ca90e3d 2 #include "NyLPC_stdlib.h"
nyatla 17:f29e1ca90e3d 3 #include "mbed.h"
nyatla 17:f29e1ca90e3d 4 #include "UrlReader.h"
nyatla 17:f29e1ca90e3d 5 namespace MiMic
nyatla 17:f29e1ca90e3d 6 {
nyatla 17:f29e1ca90e3d 7 UrlReader::UrlReader(const char* i_ref_url)
nyatla 17:f29e1ca90e3d 8 {
nyatla 17:f29e1ca90e3d 9 this->_ref_str=i_ref_url;
nyatla 17:f29e1ca90e3d 10 }
nyatla 17:f29e1ca90e3d 11 bool UrlReader::getPath(const char* &path,int &l)
nyatla 17:f29e1ca90e3d 12 {
nyatla 17:f29e1ca90e3d 13 return NyLPC_cUrlReader_getPath(this->_ref_str,&path,(NyLPC_TInt32*)&l);
nyatla 17:f29e1ca90e3d 14 }
nyatla 36:f02596009a02 15 bool UrlReader::isPathEqual(const char* path)
nyatla 36:f02596009a02 16 {
nyatla 36:f02596009a02 17 const char* p;
nyatla 36:f02596009a02 18 int l;
nyatla 36:f02596009a02 19 if(!NyLPC_cUrlReader_getPath(this->_ref_str,&p,(NyLPC_TInt32*)&l)){
nyatla 36:f02596009a02 20 return false;
nyatla 36:f02596009a02 21 }
nyatla 36:f02596009a02 22 return ((l==strlen(path)) && (strncmp(p,path,l)==0));
nyatla 36:f02596009a02 23 }
nyatla 17:f29e1ca90e3d 24 /**
nyatla 17:f29e1ca90e3d 25 * @param i_ref_str
nyatla 17:f29e1ca90e3d 26 * URL text for read.
nyatla 17:f29e1ca90e3d 27 * This is referenced pointer. Must hold it until an instance is closed.
nyatla 17:f29e1ca90e3d 28 */
nyatla 17:f29e1ca90e3d 29 void UrlReader::setUrl(const char* i_ref_url)
nyatla 17:f29e1ca90e3d 30 {
nyatla 17:f29e1ca90e3d 31 this->_ref_str=i_ref_url;
nyatla 17:f29e1ca90e3d 32 }
nyatla 17:f29e1ca90e3d 33 //bool hasHost(const char* key);
nyatla 17:f29e1ca90e3d 34 //bool getHost(const char* i_ref_url);
nyatla 17:f29e1ca90e3d 35 //bool hasPath(const char* i_ref_url);
nyatla 17:f29e1ca90e3d 36 //bool getPath(const char* i_ref_url);
nyatla 17:f29e1ca90e3d 37 /**
nyatla 17:f29e1ca90e3d 38 * This function confirms URL has a query key.
nyatla 17:f29e1ca90e3d 39 * @param key
nyatla 17:f29e1ca90e3d 40 * key name.
nyatla 17:f29e1ca90e3d 41 */
nyatla 17:f29e1ca90e3d 42 bool UrlReader::hasQueryKey(const char* key)
nyatla 17:f29e1ca90e3d 43 {
nyatla 17:f29e1ca90e3d 44 return NyLPC_cUrlReader_findKeyValue(this->_ref_str,key)!=NULL;
nyatla 17:f29e1ca90e3d 45 }
nyatla 17:f29e1ca90e3d 46 bool UrlReader::getQueryStr(const char* key,const char* &o_ref_val,int &o_val_len)
nyatla 17:f29e1ca90e3d 47 {
nyatla 17:f29e1ca90e3d 48 return NyLPC_cUrlReader_getStr(this->_ref_str,key,&o_ref_val,(NyLPC_TInt32*)&o_val_len)==NyLPC_TBool_TRUE;
nyatla 17:f29e1ca90e3d 49 }
nyatla 17:f29e1ca90e3d 50 bool UrlReader::getQueryUInt(const char* key,unsigned int &v)
nyatla 17:f29e1ca90e3d 51 {
nyatla 17:f29e1ca90e3d 52 return NyLPC_cUrlReader_getUInt(this->_ref_str,key,(NyLPC_TUInt32*)&v)==NyLPC_TBool_TRUE;
nyatla 17:f29e1ca90e3d 53 }
nyatla 17:f29e1ca90e3d 54 bool UrlReader::getQueryInt(const char* key,int &v)
nyatla 17:f29e1ca90e3d 55 {
nyatla 17:f29e1ca90e3d 56 return NyLPC_cUrlReader_getInt(this->_ref_str,key,(NyLPC_TInt32*)&v)==NyLPC_TBool_TRUE;
nyatla 17:f29e1ca90e3d 57 }
nyatla 17:f29e1ca90e3d 58 bool UrlReader::isQueryEqualStr(const char* key,const char* v)
nyatla 17:f29e1ca90e3d 59 {
nyatla 17:f29e1ca90e3d 60 const char* kv;
nyatla 17:f29e1ca90e3d 61 NyLPC_TInt32 l;
nyatla 17:f29e1ca90e3d 62 if(NyLPC_cUrlReader_getStr(this->_ref_str,key,&kv,&l)){
nyatla 17:f29e1ca90e3d 63 return strncmp(v,kv,l)==0;
nyatla 17:f29e1ca90e3d 64 }
nyatla 17:f29e1ca90e3d 65 return false;
nyatla 17:f29e1ca90e3d 66 }
nyatla 17:f29e1ca90e3d 67 bool UrlReader::isQueryEqualUInt(const char* key,unsigned int v)
nyatla 17:f29e1ca90e3d 68 {
nyatla 17:f29e1ca90e3d 69 NyLPC_TUInt32 l;
nyatla 17:f29e1ca90e3d 70 if(NyLPC_cUrlReader_getUInt(this->_ref_str,key,&l)){
nyatla 17:f29e1ca90e3d 71 return l==v;
nyatla 17:f29e1ca90e3d 72 }
nyatla 17:f29e1ca90e3d 73 return false;
nyatla 17:f29e1ca90e3d 74 }
nyatla 17:f29e1ca90e3d 75 bool UrlReader::isQueryEqualInt(const char* key,int v)
nyatla 17:f29e1ca90e3d 76 {
nyatla 17:f29e1ca90e3d 77 NyLPC_TInt32 l;
nyatla 17:f29e1ca90e3d 78 if(NyLPC_cUrlReader_getInt(this->_ref_str,key,&l)){
nyatla 17:f29e1ca90e3d 79 return l==v;
nyatla 17:f29e1ca90e3d 80 }
nyatla 17:f29e1ca90e3d 81 return false;
nyatla 17:f29e1ca90e3d 82 }
nyatla 17:f29e1ca90e3d 83
nyatla 17:f29e1ca90e3d 84 }