nuke
This commit is contained in:
54
src/App.cpp
54
src/App.cpp
@ -1,54 +0,0 @@
|
||||
#include "./controller/MyController.hpp"
|
||||
#include "./AppComponent.hpp"
|
||||
|
||||
#include "oatpp/network/Server.hpp"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
void run() {
|
||||
|
||||
/* Register Components in scope of run() method */
|
||||
AppComponent components;
|
||||
|
||||
/* Get router component */
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, router);
|
||||
|
||||
/* Create MyController and add all of its endpoints to router */
|
||||
router->addController(std::make_shared<MyController>());
|
||||
|
||||
/* Get connection handler component */
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::network::ConnectionHandler>, connectionHandler);
|
||||
|
||||
/* Get connection provider component */
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::network::ServerConnectionProvider>, connectionProvider);
|
||||
|
||||
/* Create server which takes provided TCP connections and passes them to HTTP connection handler */
|
||||
oatpp::network::Server server(connectionProvider, connectionHandler);
|
||||
|
||||
/* Print info about server port */
|
||||
OATPP_LOGi("MyApp", "Server running on port {}", connectionProvider->getProperty("port").toString());
|
||||
|
||||
/* Run server */
|
||||
server.run();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* main
|
||||
*/
|
||||
int main(int argc, const char * argv[]) {
|
||||
|
||||
oatpp::Environment::init();
|
||||
|
||||
run();
|
||||
|
||||
/* Print how much objects were created during app running, and what have left-probably leaked */
|
||||
/* Disable object counting for release builds using '-D OATPP_DISABLE_ENV_OBJECT_COUNTERS' flag for better performance */
|
||||
std::cout << "\nEnvironment:\n";
|
||||
std::cout << "objectsCount = " << oatpp::Environment::getObjectsCount() << "\n";
|
||||
std::cout << "objectsCreated = " << oatpp::Environment::getObjectsCreated() << "\n\n";
|
||||
|
||||
oatpp::Environment::destroy();
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
#ifndef AppComponent_hpp
|
||||
#define AppComponent_hpp
|
||||
|
||||
#include "oatpp/web/server/HttpConnectionHandler.hpp"
|
||||
#include "oatpp/web/mime/ContentMappers.hpp"
|
||||
|
||||
#include "oatpp/network/tcp/server/ConnectionProvider.hpp"
|
||||
#include "oatpp/json/ObjectMapper.hpp"
|
||||
|
||||
#include "oatpp/macro/component.hpp"
|
||||
|
||||
/**
|
||||
* Class which creates and holds Application components and registers components in oatpp::base::Environment
|
||||
* Order of components initialization is from top to bottom
|
||||
*/
|
||||
class AppComponent {
|
||||
public:
|
||||
|
||||
/**
|
||||
* Create ConnectionProvider component which listens on the port
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ServerConnectionProvider>, serverConnectionProvider)([] {
|
||||
return oatpp::network::tcp::server::ConnectionProvider::createShared({"0.0.0.0", 8000, oatpp::network::Address::IP_4});
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create Router component
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, httpRouter)([] {
|
||||
return oatpp::web::server::HttpRouter::createShared();
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create ConnectionHandler component which uses Router component to route requests
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ConnectionHandler>, serverConnectionHandler)([] {
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, router); // get Router component
|
||||
return oatpp::web::server::HttpConnectionHandler::createShared(router);
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create ObjectMapper component to serialize/deserialize DTOs in Contoller's API
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::web::mime::ContentMappers>, apiContentMappers)([] {
|
||||
|
||||
auto json = std::make_shared<oatpp::json::ObjectMapper>();
|
||||
json->serializerConfig().json.useBeautifier = true;
|
||||
|
||||
auto mappers = std::make_shared<oatpp::web::mime::ContentMappers>();
|
||||
mappers->putMapper(json);
|
||||
|
||||
return mappers;
|
||||
|
||||
}());
|
||||
|
||||
};
|
||||
|
||||
#endif /* AppComponent_hpp */
|
@ -1,3 +0,0 @@
|
||||
#include "MyController.hpp"
|
||||
|
||||
// TODO - SOME CODE HERE
|
@ -1,63 +0,0 @@
|
||||
#ifndef MyController_hpp
|
||||
#define MyController_hpp
|
||||
|
||||
#include <oatpp/web/protocol/http/Http.hpp>
|
||||
|
||||
#include "dto/DTOs.hpp"
|
||||
#include "oatpp/macro/codegen.hpp"
|
||||
#include "oatpp/macro/component.hpp"
|
||||
#include "oatpp/network/tcp/client/ConnectionProvider.hpp"
|
||||
#include "oatpp/web/client/HttpRequestExecutor.hpp"
|
||||
#include "oatpp/web/protocol/http/outgoing/Request.hpp"
|
||||
#include "oatpp/web/server/api/ApiController.hpp"
|
||||
|
||||
#include OATPP_CODEGEN_BEGIN(ApiController) //<-- Begin Codegen
|
||||
|
||||
/**
|
||||
* Sample Api Controller.
|
||||
*/
|
||||
class MyController : public oatpp::web::server::api::ApiController {
|
||||
public:
|
||||
/**
|
||||
* Constructor with object mapper.
|
||||
* @param apiContentMappers - mappers used to serialize/deserialize DTOs.
|
||||
*/
|
||||
MyController(OATPP_COMPONENT(
|
||||
std::shared_ptr<oatpp::web::mime::ContentMappers>, apiContentMappers))
|
||||
: oatpp::web::server::api::ApiController(apiContentMappers) {}
|
||||
|
||||
public:
|
||||
ENDPOINT("GET", "/", root) {
|
||||
auto dto = Embalses::createShared();
|
||||
auto connectionProvider =
|
||||
oatpp::network::tcp::client::ConnectionProvider::createShared(
|
||||
{"https://"
|
||||
"g904262e6628ef4-rt9s33uedog5sypd.adb.eu-madrid-1."
|
||||
"oraclecloudapps.com/ords/admin/api",
|
||||
443});
|
||||
auto requestExecutor =
|
||||
oatpp::web::client::HttpRequestExecutor::createShared(
|
||||
connectionProvider);
|
||||
auto headers =
|
||||
oatpp::web::protocol::http::Protocol::Headers::createShared();
|
||||
auto request = requestExecutor->executeOnce(
|
||||
"GET",
|
||||
"https://"
|
||||
"g904262e6628ef4-rt9s33uedog5sypd.adb.eu-madrid-1.oraclecloudapps."
|
||||
"com/ords/admin/api/embalses",
|
||||
headers, nullptr);
|
||||
if (request->getStatusCode() == 200) {
|
||||
auto responseStream = request->readBodyToString();
|
||||
oatpp::data::stream::BufferOutputStream buffer;
|
||||
// responseStream->readToStream(&buffer);
|
||||
OATPP_LOGd("MyController", "Response: %s", responseStream);
|
||||
return createResponse(Status::CODE_200, buffer.toString());
|
||||
}
|
||||
}
|
||||
|
||||
// TODO Insert Your endpoints here !!!
|
||||
};
|
||||
|
||||
#include OATPP_CODEGEN_END(ApiController) //<-- End Codegen
|
||||
|
||||
#endif /* MyController_hpp */
|
@ -1,25 +0,0 @@
|
||||
#ifndef DTOs_hpp
|
||||
#define DTOs_hpp
|
||||
|
||||
#include "oatpp/Types.hpp"
|
||||
#include "oatpp/macro/codegen.hpp"
|
||||
|
||||
#include OATPP_CODEGEN_BEGIN(DTO)
|
||||
|
||||
/**
|
||||
* Data Transfer Object. Object containing fields only.
|
||||
* Used in API for serialization/deserialization and validation
|
||||
*/
|
||||
class Embalses : public oatpp::DTO {
|
||||
DTO_INIT(Embalses, DTO)
|
||||
|
||||
DTO_FIELD(Int32, ID);
|
||||
DTO_FIELD(String, AMBITO_NOMBRE);
|
||||
DTO_FIELD(String, EMBALSE_NOMBRE);
|
||||
DTO_FIELD(Int32, AGUA_TOTAL);
|
||||
DTO_FIELD(Int32, ELECTRICO_FLAG);
|
||||
};
|
||||
|
||||
#include OATPP_CODEGEN_END(DTO)
|
||||
|
||||
#endif /* DTOs_hpp */
|
Reference in New Issue
Block a user