package org.basex.http.rest;
import static org.basex.util.Token.*;
import java.io.*;
import org.basex.core.*;
import org.basex.http.*;
import org.basex.io.serial.*;
import org.basex.query.value.node.*;
import org.basex.util.*;
/**
* Lists REST resources.
*
* @author BaseX Team 2005-17, BSD License
* @author Christian Gruen
*/
final class RESTList extends RESTCmd {
/**
* Constructor.
* @param session REST session
*/
RESTList(final RESTSession session) {
super(session);
}
@Override
protected void run0() throws IOException {
String result = "";
for(final Command cmd : session) result = run(cmd);
final Table table = new Table(result);
final FElem el = new FElem(RESTText.Q_DATABASES).declareNS();
el.add(RESTText.RESOURCES, token(table.contents.size()));
list(table, el, RESTText.Q_DATABASE, 1);
final HTTPConnection conn = session.conn;
conn.initResponse();
try(Serializer ser = Serializer.get(conn.res.getOutputStream(), conn.sopts())) {
ser.serialize(el);
}
}
}