forked from loafle/openapi-generator-original
		
	cpp-tiny 3.0 (#10739)
* int get generated as long * test revised * moved network logic to abstract service * New service hooks in services * bourne version * remove comment from cert * sendRequest remove direct link to http request * Network logic into AbstractService * Rename AbstractService to Service * add query params * Remove unused comment * Change files in openapi * amazon root CA 1 default ssl certificate * rename service * duplicate line * Set todo * lint whitespace fix * uncomment array querey paramns * Form params in service body * this is nice * added form params * remove random mustache variable * change form map to list, as it would overwrite if there was duplicates * maven build and doc gen
This commit is contained in:
		
							parent
							
								
									a7242cc8d0
								
							
						
					
					
						commit
						c741b10fb7
					
				@ -152,17 +152,16 @@ public class CppTinyClientCodegen extends AbstractCppCodegen implements CodegenC
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // SERVICES: Helpers
 | 
					        // SERVICES: Helpers
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("service/Response.h.mustache", serviceFolder, "Response.h"));
 | 
					        supportingFiles.add(new SupportingFile("service/Response.h.mustache", serviceFolder, "Response.h"));
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("service/AbstractService.h.mustache", serviceFolder, "AbstractService.h"));
 | 
					        supportingFiles.add(new SupportingFile("service/Service.h.mustache", serviceFolder, "Service.h"));
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("service/AbstractService.cpp.mustache", serviceFolder, "AbstractService.cpp"));
 | 
					        supportingFiles.add(new SupportingFile("service/Service.cpp.mustache", serviceFolder, "Service.cpp"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Main
 | 
					        // Main
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("main.mustache", CppTinyClientCodegen.sourceFolder, "main.cpp"));
 | 
					        supportingFiles.add(new SupportingFile("main.mustache", CppTinyClientCodegen.sourceFolder, "main.cpp")); // TODO no overwrite
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Config files
 | 
					        // Config files
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("README.mustache", rootFolder, "README.md"));
 | 
					        supportingFiles.add(new SupportingFile("README.mustache", rootFolder, "README.md"));
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("platformio.ini.mustache", rootFolder, "platformio.ini"));
 | 
					        supportingFiles.add(new SupportingFile("platformio.ini.mustache", rootFolder, "platformio.ini")); // TODO no overwrite
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("root.cert.mustache", rootFolder, "root.cert"));
 | 
					        supportingFiles.add(new SupportingFile("root.cert.mustache", rootFolder, "root.cert")); // TODO no overwrite
 | 
				
			||||||
        supportingFiles.add(new SupportingFile("README.mustache", rootFolder, "README.md"));
 | 
					 | 
				
			||||||
        supportingFiles.add(new SupportingFile("pre_compiling_bourne.py.mustache", rootFolder, "pre_compiling_bourne.py"));
 | 
					        supportingFiles.add(new SupportingFile("pre_compiling_bourne.py.mustache", rootFolder, "pre_compiling_bourne.py"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        defaultIncludes = new HashSet<String>(
 | 
					        defaultIncludes = new HashSet<String>(
 | 
				
			||||||
@ -232,7 +231,6 @@ public class CppTinyClientCodegen extends AbstractCppCodegen implements CodegenC
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void processOpts() {
 | 
					    public void processOpts() {
 | 
				
			||||||
        super.processOpts();
 | 
					        super.processOpts();
 | 
				
			||||||
        // Throw exception if http and esp8266
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // -- --additional-properties=controller=<controllername>
 | 
					        // -- --additional-properties=controller=<controllername>
 | 
				
			||||||
        if (additionalProperties.containsKey(MICROCONTROLLER)) {
 | 
					        if (additionalProperties.containsKey(MICROCONTROLLER)) {
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
platform = espressif32
 | 
					platform = espressif32
 | 
				
			||||||
board = nodemcu-32s
 | 
					board = nodemcu-32s
 | 
				
			||||||
framework = arduino
 | 
					framework = arduino
 | 
				
			||||||
lib_deps = https://github.com/steinwurf/bourne.git
 | 
					lib_deps = https://github.com/steinwurf/bourne.git#9.0.0
 | 
				
			||||||
extra_scripts = pre_compiling_bourne.py
 | 
					extra_scripts = pre_compiling_bourne.py
 | 
				
			||||||
{{/isESP32}}
 | 
					{{/isESP32}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -12,7 +12,7 @@ extra_scripts = pre_compiling_bourne.py
 | 
				
			|||||||
platform = espressif8266
 | 
					platform = espressif8266
 | 
				
			||||||
board = d1_mini
 | 
					board = d1_mini
 | 
				
			||||||
framework = arduino
 | 
					framework = arduino
 | 
				
			||||||
lib_deps = https://github.com/steinwurf/bourne.git
 | 
					lib_deps = https://github.com/steinwurf/bourne.git#9.0.0
 | 
				
			||||||
build_flags = -fexceptions
 | 
					build_flags = -fexceptions
 | 
				
			||||||
build_unflags = -fno-exceptions
 | 
					build_unflags = -fno-exceptions
 | 
				
			||||||
extra_scripts = pre_compiling_bourne.py
 | 
					extra_scripts = pre_compiling_bourne.py
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
//    Below is two examples of root certificates.
 | 
					//    Below is two examples of root certificates.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Let's encrypt root certificate
 | 
					// Let's encrypt root certificate
 | 
				
			||||||
/**
 | 
					
 | 
				
			||||||
"-----BEGIN CERTIFICATE-----\n" \
 | 
					"-----BEGIN CERTIFICATE-----\n" \
 | 
				
			||||||
"MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n" \
 | 
					"MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n" \
 | 
				
			||||||
"MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" \
 | 
					"MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" \
 | 
				
			||||||
@ -25,10 +25,10 @@
 | 
				
			|||||||
"YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\n" \
 | 
					"YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\n" \
 | 
				
			||||||
"CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n" \
 | 
					"CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n" \
 | 
				
			||||||
"-----END CERTIFICATE-----\n"
 | 
					"-----END CERTIFICATE-----\n"
 | 
				
			||||||
*/
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Amazon_Root_CA_1.pem
 | 
					// Amazon_Root_CA_1.pem
 | 
				
			||||||
/**
 | 
					
 | 
				
			||||||
"-----BEGIN CERTIFICATE-----\n" \
 | 
					"-----BEGIN CERTIFICATE-----\n" \
 | 
				
			||||||
"MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF\n" \
 | 
					"MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF\n" \
 | 
				
			||||||
"ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n" \
 | 
					"ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n" \
 | 
				
			||||||
@ -49,4 +49,5 @@
 | 
				
			|||||||
"5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy\n" \
 | 
					"5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy\n" \
 | 
				
			||||||
"rqXRfboQnoZsG4q5WTP468SQvvG5\n" \
 | 
					"rqXRfboQnoZsG4q5WTP468SQvvG5\n" \
 | 
				
			||||||
"-----END CERTIFICATE-----\n" \
 | 
					"-----END CERTIFICATE-----\n" \
 | 
				
			||||||
*/
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,15 +0,0 @@
 | 
				
			|||||||
#include "AbstractService.h"
 | 
					 | 
				
			||||||
#include "Arduino.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{{#isESP8266}}
 | 
					 | 
				
			||||||
void Tiny::AbstractService::begin(std::string url){
 | 
					 | 
				
			||||||
    http.begin(client, String(url.c_str()));
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
{{/isESP8266}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{{#isESP32}}
 | 
					 | 
				
			||||||
void Tiny::AbstractService::begin(std::string url){
 | 
					 | 
				
			||||||
    http.begin(String(url.c_str()), test_root_ca); //HTTPS connection
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
{{/isESP32}}
 | 
					 | 
				
			||||||
@ -1,39 +0,0 @@
 | 
				
			|||||||
#ifndef TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
					 | 
				
			||||||
#define TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
					 | 
				
			||||||
{{#isESP8266}}
 | 
					 | 
				
			||||||
#include <WiFiClient.h>
 | 
					 | 
				
			||||||
#include <ESP8266HTTPClient.h>
 | 
					 | 
				
			||||||
{{/isESP8266}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{{#isESP32}}
 | 
					 | 
				
			||||||
#include "HTTPClient.h"
 | 
					 | 
				
			||||||
{{/isESP32}}
 | 
					 | 
				
			||||||
#include "Response.h"
 | 
					 | 
				
			||||||
namespace Tiny {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
*  Class
 | 
					 | 
				
			||||||
* Generated with openapi::tiny-cpp-client
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
class AbstractService {
 | 
					 | 
				
			||||||
public:
 | 
					 | 
				
			||||||
HTTPClient http;
 | 
					 | 
				
			||||||
{{#isESP8266}}
 | 
					 | 
				
			||||||
WiFiClient client;
 | 
					 | 
				
			||||||
{{/isESP8266}}
 | 
					 | 
				
			||||||
std::string basepath = "https://petstore3.swagger.io/api/v3"; // TODO: change to your url
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void begin(std::string url);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{{#isESP32}}
 | 
					 | 
				
			||||||
// Go and comment out a certificate in root.cert, if you get an error here
 | 
					 | 
				
			||||||
// Certificate from file
 | 
					 | 
				
			||||||
const char* test_root_ca =
 | 
					 | 
				
			||||||
#include "../../root.cert"
 | 
					 | 
				
			||||||
;
 | 
					 | 
				
			||||||
{{/isESP32}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}; // end class
 | 
					 | 
				
			||||||
}// namespace Tinyclient
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* TINY_CPP_CLIENT_ABSTRACTSERVICE_H_ */
 | 
					 | 
				
			||||||
							
								
								
									
										75
									
								
								modules/openapi-generator/src/main/resources/cpp-tiny/service/Service.cpp.mustache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								modules/openapi-generator/src/main/resources/cpp-tiny/service/Service.cpp.mustache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,75 @@
 | 
				
			|||||||
 | 
					#include "Service.h"
 | 
				
			||||||
 | 
					#include "Arduino.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{#isESP8266}}
 | 
				
			||||||
 | 
					void Tiny::Service::begin(std::string url){
 | 
				
			||||||
 | 
					    http.begin(client, String(url.c_str()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // reset params
 | 
				
			||||||
 | 
					    queryParams.begin();
 | 
				
			||||||
 | 
					    formParams.begin();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					{{/isESP8266}}
 | 
				
			||||||
 | 
					{{#isESP32}}
 | 
				
			||||||
 | 
					void Tiny::Service::begin(std::string url){
 | 
				
			||||||
 | 
					    http.begin(String(url.c_str()), test_root_ca); //HTTPS connection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // reset params
 | 
				
			||||||
 | 
					    queryParams.begin();
 | 
				
			||||||
 | 
					    formParams.begin();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					{{/isESP32}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::addHeader(std::string key, std::string value){
 | 
				
			||||||
 | 
					    http.addHeader(String(key.c_str()), String(value.c_str()));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::addQueryParam(std::string key, std::string value){
 | 
				
			||||||
 | 
					    formParams.push_back(std::make_tuple(key, value));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::addFormParam(std::string key, std::string value){
 | 
				
			||||||
 | 
					    formParams.push_back(std::make_tuple(key, value));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int Tiny::Service::sendRequest(std::string url, const char * type, uint8_t * payload, size_t size){
 | 
				
			||||||
 | 
					    this->url = url;
 | 
				
			||||||
 | 
					    prepareRequest();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    begin(this->url);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    int httpCode = http.sendRequest(type, payload, size);
 | 
				
			||||||
 | 
					    return httpCode;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::prepareRequest(){
 | 
				
			||||||
 | 
					    if (!queryParams.empty()){
 | 
				
			||||||
 | 
					        this->url += "?" + encodeKeyValueTuple(this->queryParams);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!formParams.empty()){
 | 
				
			||||||
 | 
					        this->payload = encodeKeyValueTuple(this->formParams);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					std::string Tiny::Service::encodeKeyValueTuple(std::list<std::tuple<std::string, std::string>> params){
 | 
				
			||||||
 | 
					    std::string encoded = "";
 | 
				
			||||||
 | 
					    for (auto const& tuple : params) {
 | 
				
			||||||
 | 
					        encoded += std::get<0>(tuple) + "=" + std::get<1>(tuple) + "&";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Remove last '&' char from url
 | 
				
			||||||
 | 
					    if (! encoded.empty())
 | 
				
			||||||
 | 
					        encoded.pop_back();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return encoded;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					String Tiny::Service::getResponseBody(){
 | 
				
			||||||
 | 
					    String respBody = http.getString();
 | 
				
			||||||
 | 
					    http.end();
 | 
				
			||||||
 | 
					    return respBody;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										54
									
								
								modules/openapi-generator/src/main/resources/cpp-tiny/service/Service.h.mustache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								modules/openapi-generator/src/main/resources/cpp-tiny/service/Service.h.mustache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,54 @@
 | 
				
			|||||||
 | 
					#ifndef TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
				
			||||||
 | 
					#define TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
				
			||||||
 | 
					{{#isESP8266}}
 | 
				
			||||||
 | 
					#include <WiFiClient.h>
 | 
				
			||||||
 | 
					#include <ESP8266HTTPClient.h>
 | 
				
			||||||
 | 
					{{/isESP8266}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{#isESP32}}
 | 
				
			||||||
 | 
					#include "HTTPClient.h"
 | 
				
			||||||
 | 
					{{/isESP32}}
 | 
				
			||||||
 | 
					#include "Response.h"
 | 
				
			||||||
 | 
					#include <list>
 | 
				
			||||||
 | 
					namespace Tiny {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					*  Class
 | 
				
			||||||
 | 
					* Generated with openapi::tiny-cpp-client
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					class Service {
 | 
				
			||||||
 | 
					    public:
 | 
				
			||||||
 | 
					        HTTPClient http;
 | 
				
			||||||
 | 
					        {{#isESP8266}}
 | 
				
			||||||
 | 
					        WiFiClient client;
 | 
				
			||||||
 | 
					        {{/isESP8266}}
 | 
				
			||||||
 | 
					        std::string basepath = "https://petstore3.swagger.io/api/v3"; // TODO: change to your url
 | 
				
			||||||
 | 
					        std::string url = "";
 | 
				
			||||||
 | 
					        std::string payload = "";
 | 
				
			||||||
 | 
					        std::list<std::tuple<std::string, std::string>> queryParams;
 | 
				
			||||||
 | 
					        std::list<std::tuple<std::string, std::string>> formParams;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        int sendRequest(std::string url, const char * type, uint8_t * payload, size_t size);
 | 
				
			||||||
 | 
					        String getResponseBody();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        void addQueryParam(std::string key, std::string value);
 | 
				
			||||||
 | 
					        void addFormParam(std::string key, std::string value);
 | 
				
			||||||
 | 
					        void addHeader(std::string key, std::string value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        {{#isESP32}}
 | 
				
			||||||
 | 
					        // Go and comment out a certificate in root.cert, if you get an error here
 | 
				
			||||||
 | 
					        // Certificate from file
 | 
				
			||||||
 | 
					        const char* test_root_ca =
 | 
				
			||||||
 | 
					        #include "../../root.cert"
 | 
				
			||||||
 | 
					        ;
 | 
				
			||||||
 | 
					        {{/isESP32}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private:
 | 
				
			||||||
 | 
					        void begin(std::string url);
 | 
				
			||||||
 | 
					        void prepareRequest();
 | 
				
			||||||
 | 
					        std::string encodeKeyValueTuple(std::list<std::tuple<std::string, std::string>> params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}; // end class
 | 
				
			||||||
 | 
					}// namespace Tinyclient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* TINY_CPP_CLIENT_ABSTRACTSERVICE_H_ */
 | 
				
			||||||
@ -40,10 +40,44 @@ using namespace Tiny;
 | 
				
			|||||||
        {{! Method start}}
 | 
					        {{! Method start}}
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "{{{path}}}"; //{{#pathParams}}{{{paramName}}} {{/pathParams}}
 | 
					            std::string url = basepath + "{{{path}}}"; //{{#pathParams}}{{{paramName}}} {{/pathParams}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Headers  | {{#headerParams}} {{paramName}} {{/headerParams}}
 | 
				
			||||||
 | 
					        {{#headerParams}}
 | 
				
			||||||
 | 
					            addHeader("{{baseName}}",{{paramName}});
 | 
				
			||||||
 | 
					        {{/headerParams}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Query    | {{#queryParams}}{{paramName}} {{/queryParams}}
 | 
					            // Query    | {{#queryParams}}{{paramName}} {{/queryParams}}
 | 
				
			||||||
            // Headers  | {{#headerParams}}{{paramName}} {{/headerParams}}
 | 
					        {{#queryParams}}
 | 
				
			||||||
 | 
					        {{#isArray}}
 | 
				
			||||||
 | 
					            for (auto &x : {{paramName}}){
 | 
				
			||||||
 | 
					                addQueryParam("{{baseName}}", std::string(x));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        {{/isArray}}
 | 
				
			||||||
 | 
					        {{^isArray}}
 | 
				
			||||||
 | 
					            addQueryParam("{{baseName}}",{{paramName}});
 | 
				
			||||||
 | 
					        {{/isArray}}
 | 
				
			||||||
 | 
					        {{/queryParams}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | {{#formParams}}{{paramName}} {{/formParams}}
 | 
					            // Form     | {{#formParams}}{{paramName}} {{/formParams}}
 | 
				
			||||||
            // Body     | {{#bodyParam}}{{paramName}}{{/bodyParam}}
 | 
					        {{#hasFormParams}}
 | 
				
			||||||
 | 
					            addHeader("Content-Type", "application/x-www-form-urlencoded");
 | 
				
			||||||
 | 
					        {{/hasFormParams}}
 | 
				
			||||||
 | 
					        {{#hasBodyParam}}
 | 
				
			||||||
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					        {{/hasBodyParam}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        {{#formParams}}
 | 
				
			||||||
 | 
					            {{#isArray}}
 | 
				
			||||||
 | 
					            for (auto &x : {{paramName}}){
 | 
				
			||||||
 | 
					                addFormParam("{{baseName}}", std::string(x));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            {{/isArray}}
 | 
				
			||||||
 | 
					            {{^isArray}}
 | 
				
			||||||
 | 
					            addFormParam("{{baseName}}",{{paramName}});
 | 
				
			||||||
 | 
					            {{/isArray}}
 | 
				
			||||||
 | 
					        {{/formParams}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            {{#pathParams}}
 | 
					            {{#pathParams}}
 | 
				
			||||||
                std::string s_{{paramName}}("{");
 | 
					                std::string s_{{paramName}}("{");
 | 
				
			||||||
@ -56,13 +90,12 @@ using namespace Tiny;
 | 
				
			|||||||
                url.insert(pos, stringify({{paramName}}));
 | 
					                url.insert(pos, stringify({{paramName}}));
 | 
				
			||||||
            {{/pathParams}}
 | 
					            {{/pathParams}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | {{httpMethod}}
 | 
					            // METHOD | {{httpMethod}}
 | 
				
			||||||
 | 
					            // Body     | {{#bodyParam}}{{paramName}}{{/bodyParam}}
 | 
				
			||||||
            {{#bodyParam}}
 | 
					            {{#bodyParam}}
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            {{#isContainer}}
 | 
					            {{#isContainer}}
 | 
				
			||||||
            {{#isArray}}
 | 
					            {{#isArray}}
 | 
				
			||||||
@ -101,14 +134,12 @@ using namespace Tiny;
 | 
				
			|||||||
            {{/isContainer}}
 | 
					            {{/isContainer}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            {{/bodyParam}}
 | 
					            {{/bodyParam}}
 | 
				
			||||||
            int httpCode = http.sendRequest("{{httpMethod}}", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "{{httpMethod}}", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            {{#returnType}}
 | 
					            {{#returnType}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            {{#returnContainer}}
 | 
					            {{#returnContainer}}
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
{{{defaultInclude}}}
 | 
					{{{defaultInclude}}}
 | 
				
			||||||
#include "Response.h"
 | 
					#include "Response.h"
 | 
				
			||||||
#include "Arduino.h"
 | 
					#include "Arduino.h"
 | 
				
			||||||
#include "AbstractService.h"
 | 
					#include "Service.h"
 | 
				
			||||||
#include "Helpers.h"
 | 
					#include "Helpers.h"
 | 
				
			||||||
#include <list>
 | 
					#include <list>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -20,7 +20,7 @@ namespace Tiny {
 | 
				
			|||||||
 * Generated with openapi::tiny-cpp-client
 | 
					 * Generated with openapi::tiny-cpp-client
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class {{classname}} : public AbstractService {
 | 
					class {{classname}} : public Service {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    {{! Constructor }}
 | 
					    {{! Constructor }}
 | 
				
			||||||
    {{classname}}() = default;
 | 
					    {{classname}}() = default;
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,56 @@
 | 
				
			|||||||
 | 
					package org.openapitools.codegen.cpptiny;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.OpenAPI;
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.IntegerSchema;
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.ObjectSchema;
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.Schema;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.CodegenModel;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.CodegenProperty;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.TestUtils;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.languages.CppTinyClientCodegen;
 | 
				
			||||||
 | 
					import org.testng.Assert;
 | 
				
			||||||
 | 
					import org.testng.annotations.Test;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@SuppressWarnings("rawtypes")
 | 
				
			||||||
 | 
					public class CppTinyBaseTest {
 | 
				
			||||||
 | 
					    protected CppTinyClientCodegen codegen = new CppTinyClientCodegen();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    protected CodegenModel makeCodeGenFrom(Schema model) {
 | 
				
			||||||
 | 
					        OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", model);
 | 
				
			||||||
 | 
					        codegen.setOpenAPI(openAPI);
 | 
				
			||||||
 | 
					        return codegen.fromModel("sample", model);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    protected Schema testSchema() {
 | 
				
			||||||
 | 
					        return new ObjectSchema()
 | 
				
			||||||
 | 
					                .description("a sample model");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Test(description = "An example of testing the code model before it is rendered")
 | 
				
			||||||
 | 
					    public void exampleOfATest() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Make a schema object. We pretend this model comes from an OAS (openapi specification)
 | 
				
			||||||
 | 
					        // https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject
 | 
				
			||||||
 | 
					        // Then add the properties to your model.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Arrange
 | 
				
			||||||
 | 
					        Schema schemaModel = testSchema();
 | 
				
			||||||
 | 
					        schemaModel.addProperties("id", new IntegerSchema().format("int64"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Then we generated a codemodel, with the cpp tiny code generator.
 | 
				
			||||||
 | 
					        // Act
 | 
				
			||||||
 | 
					        CodegenModel model_to_be_generated = makeCodeGenFrom(schemaModel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // We can then test, and see if the codegen model have the right data.
 | 
				
			||||||
 | 
					        // Assert
 | 
				
			||||||
 | 
					        CodegenProperty id_property = model_to_be_generated.vars.get(0);
 | 
				
			||||||
 | 
					        Assert.assertEquals(id_property.dataType, "long");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Make example test of assert that some codegen is generated correctly
 | 
				
			||||||
 | 
					    // Assert.assertEquals(generated_code, "long id = 0;"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					package org.openapitools.codegen.cpptiny;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.OpenAPI;
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.IntegerSchema;
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.ObjectSchema;
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.Schema;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.*;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.languages.CppTinyClientCodegen;
 | 
				
			||||||
 | 
					import org.testng.Assert;
 | 
				
			||||||
 | 
					import org.testng.annotations.Test;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class CppTinyClientModelTest extends CppTinyBaseTest {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					package org.openapitools.codegen.cpptiny;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.IntegerSchema;
 | 
				
			||||||
 | 
					import io.swagger.v3.oas.models.media.Schema;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.CodegenModel;
 | 
				
			||||||
 | 
					import org.openapitools.codegen.CodegenProperty;
 | 
				
			||||||
 | 
					import org.testng.Assert;
 | 
				
			||||||
 | 
					import org.testng.annotations.Test;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@SuppressWarnings("rawtypes")
 | 
				
			||||||
 | 
					public class CppTinyServiceServiceTest extends CppTinyBaseTest {
 | 
				
			||||||
 | 
					    @Test(description = "sets example value")
 | 
				
			||||||
 | 
					    public void intTypeIsLong() {
 | 
				
			||||||
 | 
					        // Arrange
 | 
				
			||||||
 | 
					        Schema schema = testSchema();
 | 
				
			||||||
 | 
					        schema.addProperties("id", new IntegerSchema().format("int64"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Act
 | 
				
			||||||
 | 
					        CodegenModel model_to_be_generated = makeCodeGenFrom(schema);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Assert
 | 
				
			||||||
 | 
					        CodegenProperty id_property = model_to_be_generated.vars.get(0);
 | 
				
			||||||
 | 
					        Assert.assertEquals(id_property.dataType, "long");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,5 +1,4 @@
 | 
				
			|||||||
README.md
 | 
					README.md
 | 
				
			||||||
README.md
 | 
					 | 
				
			||||||
lib/Models/ApiResponse.cpp
 | 
					lib/Models/ApiResponse.cpp
 | 
				
			||||||
lib/Models/ApiResponse.h
 | 
					lib/Models/ApiResponse.h
 | 
				
			||||||
lib/Models/Category.cpp
 | 
					lib/Models/Category.cpp
 | 
				
			||||||
@ -14,11 +13,11 @@ lib/Models/Tag.cpp
 | 
				
			|||||||
lib/Models/Tag.h
 | 
					lib/Models/Tag.h
 | 
				
			||||||
lib/Models/User.cpp
 | 
					lib/Models/User.cpp
 | 
				
			||||||
lib/Models/User.h
 | 
					lib/Models/User.h
 | 
				
			||||||
lib/service/AbstractService.cpp
 | 
					 | 
				
			||||||
lib/service/AbstractService.h
 | 
					 | 
				
			||||||
lib/service/PetApi.cpp
 | 
					lib/service/PetApi.cpp
 | 
				
			||||||
lib/service/PetApi.h
 | 
					lib/service/PetApi.h
 | 
				
			||||||
lib/service/Response.h
 | 
					lib/service/Response.h
 | 
				
			||||||
 | 
					lib/service/Service.cpp
 | 
				
			||||||
 | 
					lib/service/Service.h
 | 
				
			||||||
lib/service/StoreApi.cpp
 | 
					lib/service/StoreApi.cpp
 | 
				
			||||||
lib/service/StoreApi.h
 | 
					lib/service/StoreApi.h
 | 
				
			||||||
lib/service/UserApi.cpp
 | 
					lib/service/UserApi.cpp
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +0,0 @@
 | 
				
			|||||||
#include "AbstractService.h"
 | 
					 | 
				
			||||||
#include "Arduino.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void Tiny::AbstractService::begin(std::string url){
 | 
					 | 
				
			||||||
    http.begin(String(url.c_str()), test_root_ca); //HTTPS connection
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,28 +0,0 @@
 | 
				
			|||||||
#ifndef TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
					 | 
				
			||||||
#define TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "HTTPClient.h"
 | 
					 | 
				
			||||||
#include "Response.h"
 | 
					 | 
				
			||||||
namespace Tiny {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
*  Class
 | 
					 | 
				
			||||||
* Generated with openapi::tiny-cpp-client
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
class AbstractService {
 | 
					 | 
				
			||||||
public:
 | 
					 | 
				
			||||||
HTTPClient http;
 | 
					 | 
				
			||||||
std::string basepath = "https://petstore3.swagger.io/api/v3"; // TODO: change to your url
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void begin(std::string url);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Go and comment out a certificate in root.cert, if you get an error here
 | 
					 | 
				
			||||||
// Certificate from file
 | 
					 | 
				
			||||||
const char* test_root_ca =
 | 
					 | 
				
			||||||
#include "../../root.cert"
 | 
					 | 
				
			||||||
;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}; // end class
 | 
					 | 
				
			||||||
}// namespace Tinyclient
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* TINY_CPP_CLIENT_ABSTRACTSERVICE_H_ */
 | 
					 | 
				
			||||||
@ -15,31 +15,34 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet"; //
 | 
					            std::string url = basepath + "/pet"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | pet
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | POST
 | 
					            // METHOD | POST
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					            // Body     | pet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            payload = pet.toJson().dump();
 | 
					            payload = pet.toJson().dump();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int httpCode = http.sendRequest("POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -64,10 +67,16 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet/{petId}"; //petId 
 | 
					            std::string url = basepath + "/pet/{petId}"; //petId 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Headers  |  apiKey 
 | 
				
			||||||
 | 
					            addHeader("api_key",apiKey);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Query    | 
 | 
					            // Query    | 
 | 
				
			||||||
            // Headers  | apiKey 
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_petId("{");
 | 
					                std::string s_petId("{");
 | 
				
			||||||
                s_petId.append("petId");
 | 
					                s_petId.append("petId");
 | 
				
			||||||
@ -78,19 +87,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_petId.length());
 | 
					                url.erase(pos, s_petId.length());
 | 
				
			||||||
                url.insert(pos, stringify(petId));
 | 
					                url.insert(pos, stringify(petId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | DELETE
 | 
					            // METHOD | DELETE
 | 
				
			||||||
            int httpCode = http.sendRequest("DELETE", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "DELETE", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -107,25 +114,31 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet/findByStatus"; //
 | 
					            std::string url = basepath + "/pet/findByStatus"; //
 | 
				
			||||||
            // Query    | status 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | status 
 | 
				
			||||||
 | 
					            for (auto &x : status){
 | 
				
			||||||
 | 
					                addQueryParam("status", std::string(x));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::list<Pet> obj = std::list<Pet>();
 | 
					            std::list<Pet> obj = std::list<Pet>();
 | 
				
			||||||
@ -167,25 +180,31 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet/findByTags"; //
 | 
					            std::string url = basepath + "/pet/findByTags"; //
 | 
				
			||||||
            // Query    | tags 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | tags 
 | 
				
			||||||
 | 
					            for (auto &x : tags){
 | 
				
			||||||
 | 
					                addQueryParam("tags", std::string(x));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::list<Pet> obj = std::list<Pet>();
 | 
					            std::list<Pet> obj = std::list<Pet>();
 | 
				
			||||||
@ -227,10 +246,15 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet/{petId}"; //petId 
 | 
					            std::string url = basepath + "/pet/{petId}"; //petId 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_petId("{");
 | 
					                std::string s_petId("{");
 | 
				
			||||||
                s_petId.append("petId");
 | 
					                s_petId.append("petId");
 | 
				
			||||||
@ -241,19 +265,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_petId.length());
 | 
					                url.erase(pos, s_petId.length());
 | 
				
			||||||
                url.insert(pos, stringify(petId));
 | 
					                url.insert(pos, stringify(petId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -275,31 +297,34 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet"; //
 | 
					            std::string url = basepath + "/pet"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | pet
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | PUT
 | 
					            // METHOD | PUT
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					            // Body     | pet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            payload = pet.toJson().dump();
 | 
					            payload = pet.toJson().dump();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int httpCode = http.sendRequest("PUT", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "PUT", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -327,10 +352,18 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet/{petId}"; //petId 
 | 
					            std::string url = basepath + "/pet/{petId}"; //petId 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | name status 
 | 
					            // Form     | name status 
 | 
				
			||||||
            // Body     | 
 | 
					            addHeader("Content-Type", "application/x-www-form-urlencoded");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            addFormParam("name",name);
 | 
				
			||||||
 | 
					            addFormParam("status",status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_petId("{");
 | 
					                std::string s_petId("{");
 | 
				
			||||||
                s_petId.append("petId");
 | 
					                s_petId.append("petId");
 | 
				
			||||||
@ -341,19 +374,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_petId.length());
 | 
					                url.erase(pos, s_petId.length());
 | 
				
			||||||
                url.insert(pos, stringify(petId));
 | 
					                url.insert(pos, stringify(petId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | POST
 | 
					            // METHOD | POST
 | 
				
			||||||
            int httpCode = http.sendRequest("POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -376,10 +407,18 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/pet/{petId}/uploadImage"; //petId 
 | 
					            std::string url = basepath + "/pet/{petId}/uploadImage"; //petId 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | additionalMetadata file 
 | 
					            // Form     | additionalMetadata file 
 | 
				
			||||||
            // Body     | 
 | 
					            addHeader("Content-Type", "application/x-www-form-urlencoded");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            addFormParam("additionalMetadata",additionalMetadata);
 | 
				
			||||||
 | 
					            addFormParam("file",file);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_petId("{");
 | 
					                std::string s_petId("{");
 | 
				
			||||||
                s_petId.append("petId");
 | 
					                s_petId.append("petId");
 | 
				
			||||||
@ -390,19 +429,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_petId.length());
 | 
					                url.erase(pos, s_petId.length());
 | 
				
			||||||
                url.insert(pos, stringify(petId));
 | 
					                url.insert(pos, stringify(petId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | POST
 | 
					            // METHOD | POST
 | 
				
			||||||
            int httpCode = http.sendRequest("POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "Response.h"
 | 
					#include "Response.h"
 | 
				
			||||||
#include "Arduino.h"
 | 
					#include "Arduino.h"
 | 
				
			||||||
#include "AbstractService.h"
 | 
					#include "Service.h"
 | 
				
			||||||
#include "Helpers.h"
 | 
					#include "Helpers.h"
 | 
				
			||||||
#include <list>
 | 
					#include <list>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -18,7 +18,7 @@ namespace Tiny {
 | 
				
			|||||||
 * Generated with openapi::tiny-cpp-client
 | 
					 * Generated with openapi::tiny-cpp-client
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PetApi : public AbstractService {
 | 
					class PetApi : public Service {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    PetApi() = default;
 | 
					    PetApi() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										64
									
								
								samples/client/petstore/cpp-tiny/lib/service/Service.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								samples/client/petstore/cpp-tiny/lib/service/Service.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					#include "Service.h"
 | 
				
			||||||
 | 
					#include "Arduino.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::begin(std::string url){
 | 
				
			||||||
 | 
					    http.begin(String(url.c_str()), test_root_ca); //HTTPS connection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // reset params
 | 
				
			||||||
 | 
					    queryParams.begin();
 | 
				
			||||||
 | 
					    formParams.begin();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::addHeader(std::string key, std::string value){
 | 
				
			||||||
 | 
					    http.addHeader(String(key.c_str()), String(value.c_str()));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::addQueryParam(std::string key, std::string value){
 | 
				
			||||||
 | 
					    formParams.push_back(std::make_tuple(key, value));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::addFormParam(std::string key, std::string value){
 | 
				
			||||||
 | 
					    formParams.push_back(std::make_tuple(key, value));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int Tiny::Service::sendRequest(std::string url, const char * type, uint8_t * payload, size_t size){
 | 
				
			||||||
 | 
					    this->url = url;
 | 
				
			||||||
 | 
					    prepareRequest();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    begin(this->url);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    int httpCode = http.sendRequest(type, payload, size);
 | 
				
			||||||
 | 
					    return httpCode;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Tiny::Service::prepareRequest(){
 | 
				
			||||||
 | 
					    if (!queryParams.empty()){
 | 
				
			||||||
 | 
					        this->url += "?" + encodeKeyValueTuple(this->queryParams);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (!formParams.empty()){
 | 
				
			||||||
 | 
					        this->payload = encodeKeyValueTuple(this->formParams);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					std::string Tiny::Service::encodeKeyValueTuple(std::list<std::tuple<std::string, std::string>> params){
 | 
				
			||||||
 | 
					    std::string encoded = "";
 | 
				
			||||||
 | 
					    for (auto const& tuple : params) {
 | 
				
			||||||
 | 
					        encoded += std::get<0>(tuple) + "=" + std::get<1>(tuple) + "&";
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Remove last '&' char from url
 | 
				
			||||||
 | 
					    if (! encoded.empty())
 | 
				
			||||||
 | 
					        encoded.pop_back();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return encoded;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					String Tiny::Service::getResponseBody(){
 | 
				
			||||||
 | 
					    String respBody = http.getString();
 | 
				
			||||||
 | 
					    http.end();
 | 
				
			||||||
 | 
					    return respBody;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										43
									
								
								samples/client/petstore/cpp-tiny/lib/service/Service.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								samples/client/petstore/cpp-tiny/lib/service/Service.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					#ifndef TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
				
			||||||
 | 
					#define TINY_CPP_CLIENT_ABSTRACTSERVICE_H_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "HTTPClient.h"
 | 
				
			||||||
 | 
					#include "Response.h"
 | 
				
			||||||
 | 
					#include <list>
 | 
				
			||||||
 | 
					namespace Tiny {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					*  Class
 | 
				
			||||||
 | 
					* Generated with openapi::tiny-cpp-client
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					class Service {
 | 
				
			||||||
 | 
					    public:
 | 
				
			||||||
 | 
					        HTTPClient http;
 | 
				
			||||||
 | 
					        std::string basepath = "https://petstore3.swagger.io/api/v3"; // TODO: change to your url
 | 
				
			||||||
 | 
					        std::string url = "";
 | 
				
			||||||
 | 
					        std::string payload = "";
 | 
				
			||||||
 | 
					        std::list<std::tuple<std::string, std::string>> queryParams;
 | 
				
			||||||
 | 
					        std::list<std::tuple<std::string, std::string>> formParams;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        int sendRequest(std::string url, const char * type, uint8_t * payload, size_t size);
 | 
				
			||||||
 | 
					        String getResponseBody();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        void addQueryParam(std::string key, std::string value);
 | 
				
			||||||
 | 
					        void addFormParam(std::string key, std::string value);
 | 
				
			||||||
 | 
					        void addHeader(std::string key, std::string value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Go and comment out a certificate in root.cert, if you get an error here
 | 
				
			||||||
 | 
					        // Certificate from file
 | 
				
			||||||
 | 
					        const char* test_root_ca =
 | 
				
			||||||
 | 
					        #include "../../root.cert"
 | 
				
			||||||
 | 
					        ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private:
 | 
				
			||||||
 | 
					        void begin(std::string url);
 | 
				
			||||||
 | 
					        void prepareRequest();
 | 
				
			||||||
 | 
					        std::string encodeKeyValueTuple(std::list<std::tuple<std::string, std::string>> params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}; // end class
 | 
				
			||||||
 | 
					}// namespace Tinyclient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* TINY_CPP_CLIENT_ABSTRACTSERVICE_H_ */
 | 
				
			||||||
@ -15,10 +15,15 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/store/order/{orderId}"; //orderId 
 | 
					            std::string url = basepath + "/store/order/{orderId}"; //orderId 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_orderId("{");
 | 
					                std::string s_orderId("{");
 | 
				
			||||||
                s_orderId.append("orderId");
 | 
					                s_orderId.append("orderId");
 | 
				
			||||||
@ -29,19 +34,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_orderId.length());
 | 
					                url.erase(pos, s_orderId.length());
 | 
				
			||||||
                url.insert(pos, stringify(orderId));
 | 
					                url.insert(pos, stringify(orderId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | DELETE
 | 
					            // METHOD | DELETE
 | 
				
			||||||
            int httpCode = http.sendRequest("DELETE", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "DELETE", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -55,25 +58,28 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/store/inventory"; //
 | 
					            std::string url = basepath + "/store/inventory"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //TODO: Implement map logic here
 | 
					            //TODO: Implement map logic here
 | 
				
			||||||
@ -97,10 +103,15 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/store/order/{orderId}"; //orderId 
 | 
					            std::string url = basepath + "/store/order/{orderId}"; //orderId 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_orderId("{");
 | 
					                std::string s_orderId("{");
 | 
				
			||||||
                s_orderId.append("orderId");
 | 
					                s_orderId.append("orderId");
 | 
				
			||||||
@ -111,19 +122,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_orderId.length());
 | 
					                url.erase(pos, s_orderId.length());
 | 
				
			||||||
                url.insert(pos, stringify(orderId));
 | 
					                url.insert(pos, stringify(orderId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -145,31 +154,34 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/store/order"; //
 | 
					            std::string url = basepath + "/store/order"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | order
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | POST
 | 
					            // METHOD | POST
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					            // Body     | order
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            payload = order.toJson().dump();
 | 
					            payload = order.toJson().dump();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int httpCode = http.sendRequest("POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "Response.h"
 | 
					#include "Response.h"
 | 
				
			||||||
#include "Arduino.h"
 | 
					#include "Arduino.h"
 | 
				
			||||||
#include "AbstractService.h"
 | 
					#include "Service.h"
 | 
				
			||||||
#include "Helpers.h"
 | 
					#include "Helpers.h"
 | 
				
			||||||
#include <list>
 | 
					#include <list>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -18,7 +18,7 @@ namespace Tiny {
 | 
				
			|||||||
 * Generated with openapi::tiny-cpp-client
 | 
					 * Generated with openapi::tiny-cpp-client
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class StoreApi : public AbstractService {
 | 
					class StoreApi : public Service {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    StoreApi() = default;
 | 
					    StoreApi() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -15,31 +15,34 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user"; //
 | 
					            std::string url = basepath + "/user"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | user
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | POST
 | 
					            // METHOD | POST
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					            // Body     | user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            payload = user.toJson().dump();
 | 
					            payload = user.toJson().dump();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int httpCode = http.sendRequest("POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -56,18 +59,23 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user/createWithArray"; //
 | 
					            std::string url = basepath + "/user/createWithArray"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | user
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | POST
 | 
					            // METHOD | POST
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					            // Body     | user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            bourne::json tmp_arr = bourne::json::array();
 | 
					            bourne::json tmp_arr = bourne::json::array();
 | 
				
			||||||
@ -80,14 +88,12 @@ using namespace Tiny;
 | 
				
			|||||||
            payload = tmp_arr.dump();
 | 
					            payload = tmp_arr.dump();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int httpCode = http.sendRequest("POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -104,18 +110,23 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user/createWithList"; //
 | 
					            std::string url = basepath + "/user/createWithList"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | user
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | POST
 | 
					            // METHOD | POST
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					            // Body     | user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            bourne::json tmp_arr = bourne::json::array();
 | 
					            bourne::json tmp_arr = bourne::json::array();
 | 
				
			||||||
@ -128,14 +139,12 @@ using namespace Tiny;
 | 
				
			|||||||
            payload = tmp_arr.dump();
 | 
					            payload = tmp_arr.dump();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int httpCode = http.sendRequest("POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "POST", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -152,10 +161,15 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user/{username}"; //username 
 | 
					            std::string url = basepath + "/user/{username}"; //username 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_username("{");
 | 
					                std::string s_username("{");
 | 
				
			||||||
                s_username.append("username");
 | 
					                s_username.append("username");
 | 
				
			||||||
@ -166,19 +180,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_username.length());
 | 
					                url.erase(pos, s_username.length());
 | 
				
			||||||
                url.insert(pos, stringify(username));
 | 
					                url.insert(pos, stringify(username));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | DELETE
 | 
					            // METHOD | DELETE
 | 
				
			||||||
            int httpCode = http.sendRequest("DELETE", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "DELETE", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -195,10 +207,15 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user/{username}"; //username 
 | 
					            std::string url = basepath + "/user/{username}"; //username 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_username("{");
 | 
					                std::string s_username("{");
 | 
				
			||||||
                s_username.append("username");
 | 
					                s_username.append("username");
 | 
				
			||||||
@ -209,19 +226,17 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_username.length());
 | 
					                url.erase(pos, s_username.length());
 | 
				
			||||||
                url.insert(pos, stringify(username));
 | 
					                url.insert(pos, stringify(username));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -246,25 +261,30 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user/login"; //
 | 
					            std::string url = basepath + "/user/login"; //
 | 
				
			||||||
            // Query    | username password 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | username password 
 | 
				
			||||||
 | 
					            addQueryParam("username",username);
 | 
				
			||||||
 | 
					            addQueryParam("password",password);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            bourne::json jsonPayload(output_string);
 | 
					            bourne::json jsonPayload(output_string);
 | 
				
			||||||
@ -285,25 +305,28 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user/logout"; //
 | 
					            std::string url = basepath + "/user/logout"; //
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | 
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | GET
 | 
					            // METHOD | GET
 | 
				
			||||||
            int httpCode = http.sendRequest("GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            // Body     | 
 | 
				
			||||||
 | 
					            int httpCode = sendRequest(url, "GET", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
@ -323,10 +346,16 @@ using namespace Tiny;
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            std::string url = basepath + "/user/{username}"; //username 
 | 
					            std::string url = basepath + "/user/{username}"; //username 
 | 
				
			||||||
            // Query    | 
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Headers  | 
 | 
					            // Headers  | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Query    | 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Form     | 
 | 
					            // Form     | 
 | 
				
			||||||
            // Body     | user
 | 
					            addHeader("Content-Type", "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                std::string s_username("{");
 | 
					                std::string s_username("{");
 | 
				
			||||||
                s_username.append("username");
 | 
					                s_username.append("username");
 | 
				
			||||||
@ -337,25 +366,22 @@ using namespace Tiny;
 | 
				
			|||||||
                url.erase(pos, s_username.length());
 | 
					                url.erase(pos, s_username.length());
 | 
				
			||||||
                url.insert(pos, stringify(username));
 | 
					                url.insert(pos, stringify(username));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            begin(url);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string payload = "";
 | 
					            std::string payload = "";
 | 
				
			||||||
            // Send Request
 | 
					            // Send Request
 | 
				
			||||||
            // METHOD | PUT
 | 
					            // METHOD | PUT
 | 
				
			||||||
            http.addHeader("Content-Type", "application/json");
 | 
					            // Body     | user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            payload = user.toJson().dump();
 | 
					            payload = user.toJson().dump();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int httpCode = http.sendRequest("PUT", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
					            int httpCode = sendRequest(url, "PUT", reinterpret_cast<uint8_t*>(&payload[0]), payload.length());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Handle Request
 | 
					            // Handle Request
 | 
				
			||||||
            String output = http.getString();
 | 
					            String output = getResponseBody();
 | 
				
			||||||
            std::string output_string = output.c_str();
 | 
					            std::string output_string = output.c_str();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            http.end();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response<String> response(output, httpCode);
 | 
					            Response<String> response(output, httpCode);
 | 
				
			||||||
            return response;
 | 
					            return response;
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "Response.h"
 | 
					#include "Response.h"
 | 
				
			||||||
#include "Arduino.h"
 | 
					#include "Arduino.h"
 | 
				
			||||||
#include "AbstractService.h"
 | 
					#include "Service.h"
 | 
				
			||||||
#include "Helpers.h"
 | 
					#include "Helpers.h"
 | 
				
			||||||
#include <list>
 | 
					#include <list>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -18,7 +18,7 @@ namespace Tiny {
 | 
				
			|||||||
 * Generated with openapi::tiny-cpp-client
 | 
					 * Generated with openapi::tiny-cpp-client
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class UserApi : public AbstractService {
 | 
					class UserApi : public Service {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    UserApi() = default;
 | 
					    UserApi() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,6 @@
 | 
				
			|||||||
platform = espressif32
 | 
					platform = espressif32
 | 
				
			||||||
board = nodemcu-32s
 | 
					board = nodemcu-32s
 | 
				
			||||||
framework = arduino
 | 
					framework = arduino
 | 
				
			||||||
lib_deps = https://github.com/steinwurf/bourne.git
 | 
					lib_deps = https://github.com/steinwurf/bourne.git#9.0.0
 | 
				
			||||||
extra_scripts = pre_compiling_bourne.py
 | 
					extra_scripts = pre_compiling_bourne.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
//    Below is two examples of root certificates.
 | 
					//    Below is two examples of root certificates.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Let's encrypt root certificate
 | 
					// Let's encrypt root certificate
 | 
				
			||||||
/**
 | 
					
 | 
				
			||||||
"-----BEGIN CERTIFICATE-----\n" \
 | 
					"-----BEGIN CERTIFICATE-----\n" \
 | 
				
			||||||
"MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n" \
 | 
					"MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n" \
 | 
				
			||||||
"MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" \
 | 
					"MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" \
 | 
				
			||||||
@ -25,10 +25,10 @@
 | 
				
			|||||||
"YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\n" \
 | 
					"YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\n" \
 | 
				
			||||||
"CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n" \
 | 
					"CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n" \
 | 
				
			||||||
"-----END CERTIFICATE-----\n"
 | 
					"-----END CERTIFICATE-----\n"
 | 
				
			||||||
*/
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Amazon_Root_CA_1.pem
 | 
					// Amazon_Root_CA_1.pem
 | 
				
			||||||
/**
 | 
					
 | 
				
			||||||
"-----BEGIN CERTIFICATE-----\n" \
 | 
					"-----BEGIN CERTIFICATE-----\n" \
 | 
				
			||||||
"MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF\n" \
 | 
					"MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF\n" \
 | 
				
			||||||
"ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n" \
 | 
					"ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n" \
 | 
				
			||||||
@ -49,4 +49,5 @@
 | 
				
			|||||||
"5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy\n" \
 | 
					"5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy\n" \
 | 
				
			||||||
"rqXRfboQnoZsG4q5WTP468SQvvG5\n" \
 | 
					"rqXRfboQnoZsG4q5WTP468SQvvG5\n" \
 | 
				
			||||||
"-----END CERTIFICATE-----\n" \
 | 
					"-----END CERTIFICATE-----\n" \
 | 
				
			||||||
*/
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user