This repository was archived by the owner on Apr 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathscript1.groovy
More file actions
42 lines (31 loc) · 1.59 KB
/
script1.groovy
File metadata and controls
42 lines (31 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import com.sap.gateway.ip.core.customdev.util.Message
import java.util.HashMap
def Message browse(Message message) {
def mapHeaders = message.getHeaders()
String mainDir = mapHeaders.get("CamelHttpPath")
String mainUrl = mapHeaders.get("CamelHttpUrl")
String mainSrv = mapHeaders.get("CamelServletContextPath")
String srvUrl = mainUrl.minus(mainDir)
String urlDown = srvUrl.minus(mainSrv)+"/amba/cpifilesystemdownload"
File dir = new File(mainDir)
StringBuilder strBuilder = new StringBuilder()
strBuilder << '<meta charset="UTF-8"></br>'
if (dir.parent != null){strBuilder << "<a href='${srvUrl}${dir.parent}'>📁 ..</a></br>"}
dir.eachDir {strBuilder << "<a href='${mainUrl}/${it.name}'>📁 ${it.name}</a></br>"}
dir.eachFile {if (it.isFile()) {strBuilder << "<a href='${urlDown}/${mainDir}/${it.name}'>${it.name}</a></br>" }}
message.setBody(strBuilder.toString())
mapHeaders = ['content-type':'text/html']
message.setHeaders(mapHeaders)
return message
}
def Message download(Message message) {
def mapHeaders = message.getHeaders()
String filePath = mapHeaders.get("CamelHttpPath")
StringBuilder strBuilder = new StringBuilder()
File file = new File(filePath);byte[] fileContent = file.bytes
strBuilder << fileContent.encodeBase64().toString()
message.setBody(strBuilder.toString());
mapHeaders = ['Content-Transfer-Encoding':'base64',
'Content-Disposition':'attachment; filename=${file.getName()}']
return message
}