Refactoring in InternalServer::handle_content()

Deduplicated common code found in the two branches of the last
if(){}else{} statement in InternalServer::handle_content().
This commit is contained in:
Veloman Yunkan 2020-04-16 18:07:51 +04:00
parent a004d96cd7
commit 14d8583c83
1 changed files with 4 additions and 8 deletions

View File

@ -933,29 +933,25 @@ Response InternalServer::handle_content(const RequestContext& request)
printf("mimeType: %s\n", mimeType.c_str()); printf("mimeType: %s\n", mimeType.c_str());
} }
auto response = get_default_response();
response.set_mimeType(mimeType);
response.set_cache(true);
if ( is_compressible_mime_type(mimeType) ) { if ( is_compressible_mime_type(mimeType) ) {
zim::Blob raw_content = entry.getBlob(); zim::Blob raw_content = entry.getBlob();
const std::string content = string(raw_content.data(), raw_content.size()); const std::string content = string(raw_content.data(), raw_content.size());
auto response = get_default_response();
if (mimeType.find("text/html") != string::npos) if (mimeType.find("text/html") != string::npos)
response.set_taskbar(bookName, reader->getTitle()); response.set_taskbar(bookName, reader->getTitle());
response.set_mimeType(mimeType);
response.set_content(content); response.set_content(content);
response.set_compress(true); response.set_compress(true);
response.set_cache(true);
return response;
} else { } else {
const int range_len = get_range_len(entry, request.get_range()); const int range_len = get_range_len(entry, request.get_range());
auto response = get_default_response();
response.set_entry(entry); response.set_entry(entry);
response.set_mimeType(mimeType);
response.set_range_first(request.get_range().first); response.set_range_first(request.get_range().first);
response.set_range_len(range_len); response.set_range_len(range_len);
response.set_cache(true);
return response;
} }
return response;
} }
} }