You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.9 KiB
102 lines
2.9 KiB
B4J=true
|
|
Group=Modules
|
|
ModulesStructureVersion=1
|
|
Type=StaticCode
|
|
Version=8.1
|
|
@EndOfDesignText@
|
|
' Utility Code module
|
|
' Version 1.08
|
|
Sub Process_Globals
|
|
Private const CONTENT_TYPE_JSON As String = "application/json"
|
|
Private const CONTENT_TYPE_HTML As String = "text/html"
|
|
End Sub
|
|
|
|
Public Sub BuildHtml (strHTML As String, Settings As Map) As String
|
|
' Replace $KEY$ tag with new content from Map
|
|
strHTML = WebUtils.ReplaceMap(strHTML, Settings)
|
|
Return strHTML
|
|
End Sub
|
|
|
|
Public Sub BuildView (strHTML As String, View As String) As String
|
|
' Replace @VIEW@ tag with new content
|
|
strHTML = strHTML.Replace("@VIEW@", View)
|
|
Return strHTML
|
|
End Sub
|
|
|
|
Public Sub ReadMapFile (FileDir As String, FileName As String) As Map
|
|
Dim strPath As String = File.Combine(FileDir, FileName)
|
|
Log($"Reading file (${strPath})..."$)
|
|
Return File.ReadMap(FileDir, FileName)
|
|
End Sub
|
|
|
|
Public Sub ReadTextFile (FileName As String) As String
|
|
Return File.ReadString(File.DirAssets, FileName)
|
|
End Sub
|
|
|
|
Public Sub Map2Json (M As Map) As String
|
|
Return M.As(JSON).ToString
|
|
End Sub
|
|
|
|
public Sub RequestData (Request As ServletRequest) As Map
|
|
Dim mdl As String = "RequestData"
|
|
Try
|
|
Dim data As Map
|
|
Dim ins As InputStream = Request.InputStream
|
|
If ins.BytesAvailable <= 0 Then
|
|
Return data
|
|
End If
|
|
Dim tr As TextReader
|
|
tr.Initialize(ins)
|
|
Dim json As JSONParser
|
|
json.Initialize(tr.ReadAll)
|
|
data = json.NextObject
|
|
Catch
|
|
LogDebug($"${mdl} "$ & LastException)
|
|
End Try
|
|
Return data
|
|
End Sub
|
|
|
|
Public Sub ReturnHTML (str As String, resp As ServletResponse)
|
|
resp.ContentType = CONTENT_TYPE_HTML
|
|
resp.Write(str)
|
|
End Sub
|
|
|
|
Public Sub ReturnConnect (resp As ServletResponse)
|
|
Dim Result As List
|
|
Result.Initialize
|
|
Result.Add(CreateMap("connect": "true"))
|
|
resp.ContentType = CONTENT_TYPE_JSON
|
|
resp.Write(Map2Json(CreateMap("s": "ok", "m": "success", "r": Result, "e": Null)))
|
|
End Sub
|
|
|
|
Public Sub ReturnError (Error As String, Code As Int, resp As ServletResponse)
|
|
If Error = "" Then Error = "unknown"
|
|
Dim Result As List
|
|
Result.Initialize
|
|
resp.ContentType = CONTENT_TYPE_JSON
|
|
resp.Status = Code
|
|
resp.Write(Map2Json(CreateMap("s": "error", "m": Null, "r": Result, "e": Error)))
|
|
End Sub
|
|
|
|
Public Sub ReturnSuccess (Data As Map, Code As Int, resp As ServletResponse)
|
|
If Data.IsInitialized = False Then Data.Initialize
|
|
Dim Result As List
|
|
Result.Initialize
|
|
Result.Add(Data)
|
|
Dim Map1 As Map = CreateMap("s": "ok", "m": "success", "r": Result, "e": Null)
|
|
resp.ContentType = CONTENT_TYPE_JSON
|
|
resp.Status = Code
|
|
resp.Write(Map2Json(Map1))
|
|
End Sub
|
|
|
|
Public Sub ReturnSuccess2 (Data As List, Code As Int, resp As ServletResponse)
|
|
If Data.IsInitialized = False Then Data.Initialize
|
|
Dim Map1 As Map = CreateMap("s": "ok", "m": "success", "r": Data, "e": Null)
|
|
resp.ContentType = CONTENT_TYPE_JSON
|
|
resp.Status = Code
|
|
resp.Write(Map2Json(Map1))
|
|
End Sub
|
|
|
|
Public Sub ReturnLocation (Location As String, resp As ServletResponse) ' Code = 302
|
|
resp.SendRedirect(Location)
|
|
End Sub |