Files
Facilitor/APPL/API2/api_attachments.asp
Jos Groot Lipman 776b50974a FSN#33339 API2 ook bijlagen ondersteunen *zonder* hmac
svn path=/Website/trunk/; revision=25690
2015-07-22 20:03:16 +00:00

49 lines
1.9 KiB
Plaintext

<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_attachments.asp
Description: Bijlagen downloader
Parameters:
Context: Geschikt voor een api2 url zoals aangemaakt in FlexFiles.inc/flexProps
Notes: De URL is maar beperkt geldig (720 minuten) en is gekoppeld aan
de user_key waaronder hij is aangemaakt.
Deze API2 is een beetje een vreemde eend in de bijt: er is geen
achterliggend model
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_attachments.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2_rest.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../shared/FlexFiles.inc" -->
<%
//__DoLog(String(Request.ServerVariables("HTTP_X_ORIGINAL_URL")));
//__DoLog(String(Request.ServerVariables("UNENCODED_URL")));
//__SafeDoLog(__DumpCollection(Request.ServerVariables, "Request.ServerVariables"));
api2_rest.authenticate({});
var orgurl = String(Request.ServerVariables("HTTP_X_ORIGINAL_URL"));
//var orgurl = String(Request.ServerVariables("UNENCODED_URL"));
// FlexFiles.inc/flexProps maakt api2url met een URLencoded filenaam
var orgqs = orgurl.substr(orgurl.indexOf("?")+1);
protectQS.verify( { checkqs: orgqs,
checkpath: Server.URLEncode(getQParam("filename")).replace(/\%2E/g, ".") }); // tamper check
var pKey = getQParamInt("key");
var pNiveau = getQParamSafe("niveau", "");
var pModule = getQParamSafe("module");
var pKenmerk_key = getQParamInt("kenmerk_key", -1);
var pFileName = getQParam("filename");
params = flexProps(pModule, pKey, String(pKenmerk_key), pNiveau);
StreamFile(params.AttachPath, pFileName, "application/octet-stream");
%>