Loading plugins/media/media.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -926,25 +926,32 @@ namespace blogi { } } // Look up media info from mediadb // Look up media info from mediadb. On failure, retry once // against _connectMediaDB's full failover chain (the pooled // handle's source may simply be down) before reporting 404. mediadb::MediaInfo mi; try { mi = mdbHandle->get_media(mediaId); } catch(...) { mdbHandle.discard(); try { auto fresh = _connectMediaDB(_sessionToken); mi = fresh->get_media(mediaId); mdbHandle = CheckoutPool<mediadb::Client>::Handle(*_mdbGetImagePool, std::move(fresh)); } catch(std::exception &e) { std::cerr << "media: get_media failed for " << mediaId << ": " << e.what() << std::endl; mdbHandle.discard(); libhttppp::HttpResponse curres; curres.setState(HTTP404); curres.send(req,"",0); return true; } catch(...) { std::cerr << "media: get_media failed for " << mediaId << ": unknown error" << std::endl; mdbHandle.discard(); libhttppp::HttpResponse curres; curres.setState(HTTP404); curres.send(req,"",0); return true; } } std::cerr << "media: kind=" << mi.kind << " content_type=" << mi.content_type << std::endl; Loading Loading
plugins/media/media.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -926,25 +926,32 @@ namespace blogi { } } // Look up media info from mediadb // Look up media info from mediadb. On failure, retry once // against _connectMediaDB's full failover chain (the pooled // handle's source may simply be down) before reporting 404. mediadb::MediaInfo mi; try { mi = mdbHandle->get_media(mediaId); } catch(...) { mdbHandle.discard(); try { auto fresh = _connectMediaDB(_sessionToken); mi = fresh->get_media(mediaId); mdbHandle = CheckoutPool<mediadb::Client>::Handle(*_mdbGetImagePool, std::move(fresh)); } catch(std::exception &e) { std::cerr << "media: get_media failed for " << mediaId << ": " << e.what() << std::endl; mdbHandle.discard(); libhttppp::HttpResponse curres; curres.setState(HTTP404); curres.send(req,"",0); return true; } catch(...) { std::cerr << "media: get_media failed for " << mediaId << ": unknown error" << std::endl; mdbHandle.discard(); libhttppp::HttpResponse curres; curres.setState(HTTP404); curres.send(req,"",0); return true; } } std::cerr << "media: kind=" << mi.kind << " content_type=" << mi.content_type << std::endl; Loading