1
0
Fork 0
mirror of https://github.com/KingDuckZ/kamokan.git synced 2024-12-27 21:35:41 +00:00

Allow retrieval of pasties

This commit is contained in:
King_DuckZ 2017-04-06 23:28:57 +01:00
parent 091746e9b6
commit 31890ba5e4
4 changed files with 50 additions and 2 deletions

View file

@ -18,6 +18,7 @@ add_executable(${PROJECT_NAME}
cgi_post.cpp
curl_wrapper.cpp
index_response.cpp
pastie_response.cpp
)
target_include_directories(${PROJECT_NAME} SYSTEM

View file

@ -1,5 +1,6 @@
#include "incredis/incredis.hpp"
#include "submit_paste_response.hpp"
#include "pastie_response.hpp"
#include "index_response.hpp"
#include "cgi_env.hpp"
#include <iostream>
@ -26,8 +27,8 @@ int main() {
resp.send();
}
else {
std::cout << "Content-type:text/plain\n\n";
std::cout << "you shouldn't be here\n";
tawashi::PastieResponse resp(incredis);
resp.send();
}
return 0;

26
src/pastie_response.cpp Normal file
View file

@ -0,0 +1,26 @@
#include "pastie_response.hpp"
#include "incredis/incredis.hpp"
#include <ciso646>
namespace tawashi {
PastieResponse::PastieResponse (redis::IncRedis& parRedis) :
Response("text/plain"),
m_redis(parRedis)
{
}
void PastieResponse::on_send (std::ostream& parStream) {
using opt_string = redis::IncRedis::opt_string;
if (cgi_env().path_info().empty()) {
return;
}
auto token = boost::string_ref(cgi_env().path_info()).substr(1);
opt_string pastie = m_redis.get(token);
if (not pastie) {
}
parStream << *pastie;
}
} //namespace tawashi

20
src/pastie_response.hpp Normal file
View file

@ -0,0 +1,20 @@
#pragma once
#include "response.hpp"
#include <string>
namespace redis {
class IncRedis;
} //namespace redis
namespace tawashi {
class PastieResponse : public Response {
public:
PastieResponse (redis::IncRedis& parRedis);
private:
virtual void on_send (std::ostream& parStream) override;
redis::IncRedis& m_redis;
};
} //namespace tawashi