Loading plugins/media/backend.h +1 −0 Original line number Diff line number Diff line Loading @@ -46,5 +46,6 @@ namespace blogi { private: bool reconnect(); redisContext *_RedisCTX; std::string _pw; }; }; plugins/media/media.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -508,11 +508,11 @@ namespace blogi { curres.setVersion(HTTPVERSION(1.1)); if(n>0){ curres.setContentType(res[0][0]); curres.setState(HTTP200); try{ std::string value; _store->load(suuid,value); curres.setContentType(res[0][0]); curres.setState(HTTP200); curres.send(curcon, value.c_str(), value.length()); }catch(...){ curres.setState(HTTP404); Loading plugins/media/redis.cpp +12 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ blogi::RedisStore::RedisStore(const char *host,int port,const char *password){ exp[libhttppp::HTTPException::Error] << "media plugin err: " << _RedisCTX->errstr; throw exp; } _pw=password; freeReplyObject(reply); } Loading Loading @@ -79,8 +80,18 @@ REDISLOAD: } bool blogi::RedisStore::reconnect(){ if(redisReconnect(_RedisCTX)!=REDIS_ERR) if(redisReconnect(_RedisCTX) && !_RedisCTX->err){ if(!_pw.empty()){ redisReply *reply = (redisReply*)redisCommand(_RedisCTX, "AUTH %s", _pw.c_str()); if (reply->type == REDIS_REPLY_ERROR) { freeReplyObject(reply); return false; }else{ return true; } } return true; } return false; } Loading
plugins/media/backend.h +1 −0 Original line number Diff line number Diff line Loading @@ -46,5 +46,6 @@ namespace blogi { private: bool reconnect(); redisContext *_RedisCTX; std::string _pw; }; };
plugins/media/media.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -508,11 +508,11 @@ namespace blogi { curres.setVersion(HTTPVERSION(1.1)); if(n>0){ curres.setContentType(res[0][0]); curres.setState(HTTP200); try{ std::string value; _store->load(suuid,value); curres.setContentType(res[0][0]); curres.setState(HTTP200); curres.send(curcon, value.c_str(), value.length()); }catch(...){ curres.setState(HTTP404); Loading
plugins/media/redis.cpp +12 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ blogi::RedisStore::RedisStore(const char *host,int port,const char *password){ exp[libhttppp::HTTPException::Error] << "media plugin err: " << _RedisCTX->errstr; throw exp; } _pw=password; freeReplyObject(reply); } Loading Loading @@ -79,8 +80,18 @@ REDISLOAD: } bool blogi::RedisStore::reconnect(){ if(redisReconnect(_RedisCTX)!=REDIS_ERR) if(redisReconnect(_RedisCTX) && !_RedisCTX->err){ if(!_pw.empty()){ redisReply *reply = (redisReply*)redisCommand(_RedisCTX, "AUTH %s", _pw.c_str()); if (reply->type == REDIS_REPLY_ERROR) { freeReplyObject(reply); return false; }else{ return true; } } return true; } return false; }