This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
mbed/UrlReader.cpp@115:fa79286d8ea4, 2017-02-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |