XML HTTP Status Export for import to next release

main
René Linder 2022-02-21 11:54:15 +01:00
parent d9f7a3fb0c
commit 73d7e85542
1 changed files with 125 additions and 0 deletions

View File

@ -0,0 +1,125 @@
OpenConsole("Write Default HTTP Status Code XML Server")
PrintN("Create default_http_status_codes.xml...")
Enumeration http_header_fieldtype
#http_header_field_Static ;Fieldcontent could be directly used
#http_header_field_Dynamic_auto ;Must be handled by the Fieldcontent_proc
EndEnumeration
Enumeration http_headerfield_param
#http_headerfield_param_string
#http_headerfield_param_map
#http_headerfield_param_integer
EndEnumeration
Structure http_headerfield_params
Type.i ;Types of Field #Content or #Map
Content_string.s ;String Field
Map Content_Maps.s() ;Map Field
Content_integer.i ;Integer Field
EndStructure
Structure http_headerfield
Fieldname.s ; Name bevore : for ex. "keep-alive:"
Fieldcontent.s ; Content after : for ex. "Keep-Alive"
Fieldcontent_type.i ; #http_header_field_Static or #http_header_field_Dynamic_auto
Fieldcontent_proc.i ; A Procedure Prototype to call
Map Field_proc_parameters.http_headerfield_params() ;Parameters to give to call
EndStructure
Structure http_status_codes
status.s ;Error Number
file.s ;Error File or "Integrated" for default Message as Template
header.s ;Error Header message for #http_head_status
message.s ;Error Message for Templated
message_body.s ;Error Message Body for Templated
template.b ;Is it a Template {ErrorNo}=error and {Message}=message and {Message_body}=message_body need to be there
content.b ;has it a content to send. (200 for ex. has no content who need to be processed.)
Map head_fields.http_headerfield()
EndStructure
Structure config
Map status.http_status_codes()
EndStructure
Global configuration.config
configuration\status("200")\status = "200"
configuration\status("200")\file = ""
configuration\status("200")\header = "200 Ok"
configuration\status("200")\message = ""
configuration\status("200")\template = #False
configuration\status("200")\content = #False
;3xx
configuration\status("303")\status = "303"
configuration\status("303")\file = ""
configuration\status("303")\header = "303 See Other"
configuration\status("303")\message = ""
configuration\status("303")\template = #False
configuration\status("303")\content = #False
;4xx
configuration\status("400")\status = "400"
configuration\status("400")\file = "integrated"
configuration\status("400")\header = "400 Bad Request"
configuration\status("400")\message = "400 Bad Request"
configuration\status("400")\template = #True
configuration\status("400")\content = #True
configuration\status("403")\status = "403"
configuration\status("403")\file = "integrated"
configuration\status("403")\header = "403 Forbidden"
configuration\status("403")\message = "403 Forbidden"
configuration\status("403")\template = #True
configuration\status("403")\content = #True
configuration\status("404")\status = "404"
configuration\status("404")\file = "integrated"
configuration\status("404")\header = "404 Not Found"
configuration\status("404")\message = "404 Not Found"
configuration\status("404")\template = #True
configuration\status("404")\content = #True
;5xx
configuration\status("500")\status = "500"
configuration\status("500")\file = "integrated"
configuration\status("500")\header = "500 Internal Server Error"
configuration\status("500")\message = "500 Internal Server Error"
configuration\status("500")\template = #True
configuration\status("500")\content = #True
configuration\status("501")\status = "501"
configuration\status("501")\file = "integrated"
configuration\status("501")\header = "501 Not Implemented"
configuration\status("501")\message = "501 Not Implemented"
configuration\status("501")\template = #True
configuration\status("501")\content = #True
configuration\status("502")\status = "502"
configuration\status("502")\file = "integrated"
configuration\status("502")\header = "502 Bad Gateway"
configuration\status("502")\message = "502 Bad Gateway"
configuration\status("502")\template = #True
configuration\status("502")\content = #True
configuration\status("503")\status = "503"
configuration\status("503")\file = "integrated"
configuration\status("503")\header = "503 Service Unavailable"
configuration\status("503")\message = "503 Service Unavailable"
configuration\status("503")\template = #True
configuration\status("503")\content = #True
If CreateXML(0)
InsertXMLMap(RootXMLNode(0), configuration\status())
FormatXML(0, #PB_XML_ReFormat)
ToSave.s = ComposeXML(0)
EndIf
CreateFile(0, "default_http_status_codes.xml")
WriteString(0, ToSave)
PrintN("Default status codes xml created: default_http_status_codes.xml")
End