|
- <%
- 'protocol = IIf(LCase(Request.ServerVariables("HTTPS")) = "1", "https", "http")
- protocol = "https"
- Dim timeZones
- timeZones = Array( _
- Array("America/New_York", "Eastern (New York)"), _
- Array("America/Chicago", "Central (Chicago)"), _
- Array("America/Denver", "Mountain (Denver)"), _
- Array("America/Los_Angeles", "Pacific (Los Angeles)"), _
- Array("Europe/London", "London (UK)") _
- )
-
- Function RequestBinary()
- On Error Resume Next
- Dim stream, rawData
-
- If Request.TotalBytes = 0 Then
- RequestBinary = ""
- Exit Function
- End If
-
- Set stream = Server.CreateObject("ADODB.Stream")
- stream.Type = 1 ' adTypeBinary
- stream.Open
- stream.Write Request.BinaryRead(Request.TotalBytes)
-
- stream.Position = 0
- stream.Type = 2 ' adTypeText
- stream.Charset = "utf-8"
- rawData = stream.ReadText
-
- stream.Close
- Set stream = Nothing
-
- If Err.Number <> 0 Then
- rawData = ""
- Err.Clear
- End If
-
- On Error GoTo 0
- RequestBinary = rawData
- End Function
-
- Function ArrayContains(arr, val)
- Dim i
- ArrayContains = False
- If IsArray(arr) Then
- For i = LBound(arr) To UBound(arr)
- If arr(i) = val Then
- ArrayContains = True
- Exit Function
- End If
- Next
- End If
- End Function
-
- Function RenderPOBOArrayAsJson(pobo)
- Dim i, j, obj, propList, propName, json, propVal, line,poboArray
- if IsLinkedList(pobo) Then
- poboArray = pobo.TO_Array()
- End If
- json = "["
-
- If IsEmpty(poboArray) Then
- RenderPOBOArrayAsJson = "[]"
- Exit Function
- End If
-
- For i = 0 To UBound(poboArray)
- Set obj = poboArray(i)
- propList = obj.Properties
- line = "{"
-
- For j = 0 To UBound(propList)
- propName = propList(j)
- ' Dynamically get value using Execute
- Execute "propVal = obj." & propName
-
- Select Case VarType(propVal)
- Case vbString
- line = line & """" & propName & """:""" & JsonEscape(propVal) & """"
- Case vbBoolean
- line = line & """" & propName & """:" & LCase(CStr(propVal))
- Case vbDate
- line = line & """" & propName & """:""" & Replace(CStr(propVal), """", "") & """"
- Case vbNull
- line = line & """" & propName & """:null"
- Case Else
- line = line & """" & propName & """:" & CStr(propVal)
- End Select
-
- If j < UBound(propList) Then
- line = line & ","
- End If
- Next
-
- line = line & "}"
- If i < UBound(poboArray) Then line = line & ","
- json = json & line
- Next
-
- json = json & "]"
- RenderPOBOArrayAsJson = json
- End Function
-
- Function JsonEscape(str)
- str = Replace(str, "\", "\\")
- str = Replace(str, """", "\""")
- str = Replace(str, vbCrLf, "\n")
- str = Replace(str, vbLf, "\n")
- str = Replace(str, vbCr, "\n")
- str = Replace(str, Chr(9), "\t")
- JsonEscape = str
- End Function
- %>
|