X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=library%2FWebLibraryServerHtml.java;h=e96edef95584b5f18a63f62ab630c75abe92f6b0;hp=c28188cde5467746b21e5f5f9905b9aeede978db;hb=159e970c23d9634d39bb8cf2a194f7088f4d59ab;hpb=87ffaa787388b0389f5134aa70c4b1e2e940c118 diff --git a/library/WebLibraryServerHtml.java b/library/WebLibraryServerHtml.java index c28188c..e96edef 100644 --- a/library/WebLibraryServerHtml.java +++ b/library/WebLibraryServerHtml.java @@ -47,12 +47,29 @@ abstract class WebLibraryServerHtml implements Runnable { abstract protected Response getStoryPart(String uri, WLoginResult login); + abstract protected Response setStoryPart(String uri, String value, + WLoginResult login) throws IOException; + + abstract protected Response getCover(String uri, WLoginResult login) + throws IOException; + + abstract protected Response setCover(String uri, String luid, + WLoginResult login) throws IOException; + abstract protected List metas(WLoginResult login) throws IOException; abstract protected Story story(String luid, WLoginResult login) throws IOException; + protected abstract Response imprt(String uri, String url, + WLoginResult login) throws IOException; + + protected abstract Response imprtProgress(String uri, WLoginResult login); + + protected abstract Response delete(String uri, WLoginResult login) + throws IOException; + public WebLibraryServerHtml(boolean secure) throws IOException { Integer port = Instance.getInstance().getConfig() .getInteger(Config.SERVER_PORT); @@ -162,16 +179,37 @@ abstract class WebLibraryServerHtml implements Runnable { rep = newFixedLengthResponse(Status.OK, MIME_PLAINTEXT, Version.getCurrentVersion().toString()); + } else if (WebLibraryUrls.isCoverUrl(uri)) { + String luid = params.get("luid"); + if (luid != null) { + rep = setCover(uri, luid, login); + } else { + rep = getCover(uri, login); + } } else if (WebLibraryUrls.isListUrl(uri)) { rep = getList(uri, login); } else if (WebLibraryUrls.isStoryUrl(uri)) { - rep = getStoryPart(uri, login); + String value = params.get("value"); + if (value != null) { + rep = setStoryPart(uri, value, login); + } else { + 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(login(false, false), uri); + } else if (WebLibraryUrls.isImprtUrl(uri)) { + String url = params.get("url"); + if (url != null) { + rep = imprt(uri, url, login); + } else { + rep = imprtProgress(uri, login); + } + } else if (WebLibraryUrls.isDeleteUrl(uri)) { + rep = delete(uri, login); } else { getTraceHandler().error( "Supported URL was not processed: " @@ -218,7 +256,9 @@ abstract class WebLibraryServerHtml implements Runnable { } }; - if (ssf != null) { + if (ssf != null) + + { getTraceHandler().trace("Install SSL on the web server..."); server.makeSecure(ssf, null); getTraceHandler().trace("Done.");