api is functional after the dependency updates

This commit is contained in:
kdeng00
2020-02-01 20:58:48 -05:00
parent e846989a7f
commit 57f76ee4a4
3 changed files with 12 additions and 27 deletions
+3 -1
View File
@@ -4,6 +4,8 @@
#include <string>
#include "oatpp/core/data/stream/FileStream.hpp"
#include "oatpp/core/data/stream/Stream.hpp"
#include "oatpp/core/async/Coroutine.hpp"
//#include "oatpp/web/protocol/http/outgoing/ChunkedBody.hpp"
namespace callback {
@@ -12,7 +14,7 @@ namespace callback {
StreamCallback();
StreamCallback(const std::string&);
oatpp::v_io_size read(void*, oatpp::v_io_size);
oatpp::v_io_size read(void*, v_buff_size, oatpp::async::Action&);
private:
std::string m_songPath;
+6 -25
View File
@@ -12,11 +12,11 @@
#include <oatpp/core/async/Coroutine.hpp>
#include "oatpp/core/data/stream/ChunkedBuffer.hpp"
#include "oatpp/core/data/stream/FileStream.hpp"
#include "oatpp/core/base/StrBuffer.hpp"
#include "oatpp/core/macro/codegen.hpp"
#include "oatpp/core/macro/component.hpp"
#include "oatpp/web/mime/multipart/InMemoryPartReader.hpp"
#include "oatpp/web/mime/multipart/Reader.hpp"
//#include "oatpp/web/protocol/http/outgoing/ChunkedBody.hpp"
#include "oatpp/web/protocol/http/outgoing/StreamingBody.hpp"
#include "oatpp/web/server/api/ApiController.hpp"
@@ -43,10 +43,12 @@ namespace controller {
// endpoint for uploading a song
ENDPOINT("POST", "/api/v1/song/data", songUpload,
AUTHORIZATION(std::shared_ptr<oatpp::web::server::handler::DefaultBearerAuthorizationObject>, authObject),
REQUEST(std::shared_ptr<IncomingRequest>, request)) {
auto authHeader = request->getHeader("Authorization");
OATPP_ASSERT_HTTP(authHeader, Status::CODE_403, "Nope");
auto auth = authHeader->std_str();
manager::TokenManager tok;
OATPP_ASSERT_HTTP(tok.isTokenValid(auth,
type::Scope::upload), Status::CODE_403, "Not allowed");
@@ -225,37 +227,16 @@ namespace controller {
auto dSize = 1024;
/**
auto buff = std::make_unique<const char*>(file->getInMemoryData()->c_str());
auto buffSize = file->getKnownSize();
std::vector<unsigned char> data(*buff, *buff + buffSize);
*/
/**
auto db = std::make_shared<oatpp::web::protocol::http::outgoing::ChunkedBody>(
std::make_shared<callback::StreamCallback>(songDb.songPath),
nullptr, dSize);
*/
/**
auto db = std::make_shared<oatpp::web::protocol::http::outgoing::ChunkedBody>(
std::make_shared<callback::StreamCallback>(songDb.songPath)
);
*/
auto callback = std::make_shared<callback::StreamCallback>(songDb.songPath);
auto db = std::make_shared<oatpp::web::protocol::http::outgoing::StreamingBody>(
std::make_shared<callback::StreamCallback>(songDb.songPath),
dSize);
callback
);
/**
auto response = OutgoingResponse::createShared(Status::CODE_200, db);
response->putHeader(Header::CONNECTION, Header::Value::CONNECTION_KEEP_ALIVE);
response->putHeader(Header::CONTENT_TYPE, "audio/mpeg");
return response;
*/
return createResponse(Status::CODE_200, "Aye okay");
}
#include OATPP_CODEGEN_END(ApiController)
+3 -1
View File
@@ -18,7 +18,9 @@ namespace callback {
}
oatpp::v_io_size StreamCallback::read(void *buff, oatpp::v_io_size count) {
oatpp::v_io_size StreamCallback::read(void *buff, v_buff_size count,
oatpp::async::Action& action) {
if (m_counter >= m_fileSize) {
std::cout << "done streaming song\n";
return 0;