InfoRefsServlet: Open OutputStreamWriter in try-with-resource

Change-Id: Iaf93d5c020ee67e9effbe93334f1ad419ffaee1f
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
This commit is contained in:
David Pursehouse 2018-03-07 08:27:06 +09:00
parent de96131d36
commit 2c5b721161
1 changed files with 22 additions and 21 deletions

View File

@ -74,29 +74,30 @@ public void doGet(final HttpServletRequest req,
rsp.setCharacterEncoding(Constants.CHARACTER_ENCODING);
final Repository db = getRepository(req);
final OutputStreamWriter out = new OutputStreamWriter(
try (OutputStreamWriter out = new OutputStreamWriter(
new SmartOutputStream(req, rsp, true),
Constants.CHARSET);
final RefAdvertiser adv = new RefAdvertiser() {
@Override
protected void writeOne(final CharSequence line) throws IOException {
// Whoever decided that info/refs should use a different
// delimiter than the native git:// protocol shouldn't
// be allowed to design this sort of stuff. :-(
out.append(line.toString().replace(' ', '\t'));
}
Constants.CHARSET)) {
final RefAdvertiser adv = new RefAdvertiser() {
@Override
protected void writeOne(final CharSequence line)
throws IOException {
// Whoever decided that info/refs should use a different
// delimiter than the native git:// protocol shouldn't
// be allowed to design this sort of stuff. :-(
out.append(line.toString().replace(' ', '\t'));
}
@Override
protected void end() {
// No end marker required for info/refs format.
}
};
adv.init(db);
adv.setDerefTags(true);
@Override
protected void end() {
// No end marker required for info/refs format.
}
};
adv.init(db);
adv.setDerefTags(true);
Map<String, Ref> refs = db.getRefDatabase().getRefs(ALL);
refs.remove(Constants.HEAD);
adv.send(refs);
out.close();
Map<String, Ref> refs = db.getRefDatabase().getRefs(ALL);
refs.remove(Constants.HEAD);
adv.send(refs);
}
}
}