Created
December 5, 2013 00:11
-
-
Save billy-bacon/7797975 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.alexandria.licenseproxy.stripes.ebook; | |
import com.alexandria.licenseproxy.helper.CircHelper; | |
import com.alexandria.licenseproxy.helper.EBookHelper; | |
import com.google.inject.Inject; | |
import net.sourceforge.stripes.action.*; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
import javax.servlet.http.HttpServletResponse; | |
import java.io.ByteArrayInputStream; | |
@UrlBinding("/ebook/file/{mediaKey}/{filename}") | |
public class EBookEpubFileAction extends EBookBaseAction { | |
private static final Logger logger = LoggerFactory.getLogger(EBookEpubFileAction.class); | |
private String filename; | |
@Inject | |
public EBookEpubFileAction(final CircHelper circHelper, final EBookHelper eBookHelper) { | |
this.circHelper = circHelper; | |
this.eBookHelper = eBookHelper; | |
} | |
@DefaultHandler | |
public Resolution provideEpubFile() { | |
// Determine if the patron requesting the epub file has authorization to do so (has the title borrowed). | |
final Resolution errorResolution = authorizeRequest(patronId, mediaKey); | |
if (errorResolution != null) { | |
return errorResolution; | |
} | |
byte[] data = eBookHelper.getEpubFileFromS3(mediaKey, filename); | |
if (data == null) return new ErrorResolution(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); | |
return new StreamingResolution(getMimeType(filename), new ByteArrayInputStream(data)); | |
} | |
private String getMimeType(String filename) { | |
return null; //To change body of created methods use File | Settings | File Templates. | |
} | |
public void setFilename(String filename) { | |
this.filename = filename; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment