- if (uri.equals("/")) {
- rep = root(session, cookies, login);
- } else if (uri.startsWith(LIST_URL)) {
- rep = getList(uri, login);
- } else if (uri.startsWith(STORY_URL_BASE)) {
- rep = getStoryPart(uri, login);
- } else if (uri.startsWith(VIEWER_URL_BASE)) {
- rep = getViewer(cookies, uri, login);
- } else if (uri.equals("/logout")) {
- session.getCookies().delete("cookie");
- cookies.remove("cookie");
- rep = loginPage(login, uri);
+ if (WebLibraryUrls.isSupportedUrl(uri)) {
+ if (WebLibraryUrls.INDEX_URL.equals(uri)) {
+ rep = root(session, cookies, login);
+ } else if (WebLibraryUrls.VERSION_URL.equals(uri)) {
+ rep = newFixedLengthResponse(Status.OK,
+ MIME_PLAINTEXT,
+ Version.getCurrentVersion().toString());
+ } else if (WebLibraryUrls.isListUrl(uri)) {
+ rep = getList(uri, login);
+ } else if (WebLibraryUrls.isStoryUrl(uri)) {
+ rep = getStoryPart(uri, login);
+ } else if (WebLibraryUrls.isViewUrl(uri)) {
+ rep = getViewer(cookies, uri, login);
+ } else if (WebLibraryUrls.LOGOUT_URL.equals(uri)) {
+ session.getCookies().delete("cookie");
+ cookies.remove("cookie");
+ rep = loginPage(new WLoginResult(false, false),
+ uri);
+ } else {
+ getTraceHandler().error(
+ "Supported URL was not processed: "
+ + uri);
+ rep = newFixedLengthResponse(
+ Status.INTERNAL_ERROR,
+ NanoHTTPD.MIME_PLAINTEXT,
+ "An error happened");
+ }