Documentation
¶
Overview ¶
***************************************************************************
* * Copyright (C) Agile Data, Inc - All Rights Reserved * Unauthorized copying of this file, via any medium is strictly prohibited * Proprietary and confidential * Written by Stephen Noel <noel@hub4edi.com>, December 2018 * ***************************************************************************
***************************************************************************
* * Copyright (C) Agile Data, Inc - All Rights Reserved * Unauthorized copying of this file, via any medium is strictly prohibited * Proprietary and confidential * Written by Stephen Noel <noel@hub4edi.com>, November 2018 * ***************************************************************************
Index ¶
- Constants
- func ConvertEpochtoTimestamp(epochTime string) (time.Time, error)
- func ConvertMap(input *sync.Map) map[string]string
- func ConvertTimeToEpochString(timestamp time.Time) string
- func ConvertTimeToEpochString2(timestamp time.Time) string
- func ConvertTimestampToUnixMsString(timeStamp time.Time) string
- func Copy(src, dst string) (int64, error)
- func CreateAmfHeader(sender, receiver, messageType, controlNo, fileName string) string
- func CreateAmfHeaderMap(header AmfHeader) map[string]string
- func Formatter(format string, msg map[string]string, sysinfo map[string]string) string
- func GetId() string
- func GetLogger(logFile, logLevel string, maxbackup int) (log4go.Logger, error)
- func GetLoggerFromConfig(config *ini.Section) (log4go.Logger, error)
- func GetMD5CheckSum(filename string) (string, error)
- func GetTimeMap(timeStamp time.Time) map[string]string
- func MapToXML(input map[string]string) ([]byte, error)
- func Merge(maps ...map[string]string) map[string]string
- func MoveFile(root string, msgid string, sender string, inputFile string) (string, error)
- func ReadFile(filename string) []byte
- func SafeInt(val string, intDefault int64) (result int64)
- func Sleep(interval int, runFlag *bool)
- func StoreFile(root string, msgid string, sender string, input io.ReadCloser) (int64, string, error)
- func StoreTempFile(tmpDir string, serviceName string, senderName string, msgid string, ...) (string, int64, error)
- func WriteFile(filename string, contents []byte) error
- type AMFMessage
- type ActionParms
- type AmfAction
- type AmfCommAction
- type AmfHeader
- type AmfMessage
- type ChunkedFileInfo
- type CommJob
- type CommService
- type DeliveryComms
- type EventParms
- type Match
- type Rule
- type ScheduleMessage
- type ScheduledComms
- type ServiceParms
- type State
- type Step
- type SystemParms
- type TriggerCommWorkflow
- type UfaProfile
Constants ¶
View Source
const ( UFA_VERSION = "UFA 2.1" STATUS_INFO = "Info" STATUS_FAILED = "Failed" STATUS_PUBLISHED = "Published" STATUS_QUEUED = "Queued" STATUS_REQUEUE_REQUESTED = "Requeue Requested" STATUS_WARNING = "Warning" STATUS_STARTED = "Started" STATUS_RETRYING = "Retrying" STATUS_REQUEUED = "Requeued" STATUS_REPROCESS_REQUESTED = "Reprocess Requested" STATUS_HELD = "Held" STATUS_HOLD_REQUESTED = "Hold Requested" STATUS_RECEIVED = "Received" STATUS_COMPLETED = "Completed" STATUS_DELIVERED = "Delivered" STATUS_MAILBOXED = "Mailboxed" STATUS_PROCESSING = "Processing" STATUS_ACTIVE = "Active" STATUS_FAILED_LOWER = "failed" STATUS_COMPLETED_LOWER = "completed" STATUS_WARNING_LOWER = "warning" MESSAGE_ID = "msgid" MESSAGE_TIME = "mtime" SENDER = "sender" RECEIVER = "receiver" MAILBOX = "mailbox" MESSAGE_TYPE = "mtype" CONTROL_NO = "cntl" ORIGINATOR = "origin" SESSION_ID = "sesid" PARENT_ID = "parid" FILE_NAME = "fname" FILE_TYPE = "ftype" FILE_SIZE = "fsize" TIME_CREATED = "time" REFERENCES = "ref" FILE_PATH = "path" FILE_BASE = "fbase" FILE_DIR = "fdir" FILE_TIME = "ftime" ORIG_FILENAME = "ofile" ACTION_ID = "action" DOC_COUNT = "dcnt" YEAR = "year" MONTH = "month" DAY = "day" HOUR = "hours" MINUTE = "minute" SECOND = "seconds" MILLISECOND = "milli" JOB_NAME = "job" TIME_QUEUED = "qtime" STATUS_TIME = "stime" STATUS = "status" INSTANCE = "instance" USER = "user" NODE_ID = "node" SITE_ID = "site" DATA_TYPE = "data_type" WORKFLOW_NAME = "wfname" CAN_REQUEUE_AND_REPROCESS = "canboth" SERVICE_NAME = "svc" SERVICE_TYPE = "svctype" SERVICE_VERSION = "svcver" SERVICE_STATUS = "status" SERVICE_ERRORS = "errors" CREATED_BY = "createdby" FLAG_SERVICE = "svc" FLAG_CONFIGURATION = "conf" VAL_UNKNOWN = "UNKNOWN" VAL_WILDCARD = "*" VAL_EMPTY = "" VAL_OKAY = "ok" VAL_LINEFEED = "\n" VAL_FILE_SEPARATOR = "/" VAL_JOB_SEPARATOR = "//" VAL_ZERO = 0 VAL_DEFAULT_ERROR = 999 VAL_TRUE_STRING = "true" VAL_FALSE_STRING = "false" VAL_INPUT_FILE = "Input" VAL_OUTPUT_FILE = "Output" VAL_ZERO_UUID = "00000000-0000-0000-0000-000000000000" VAL_DATA = "data" VAL_MINIMUM_INTERVAL = 15 VAL_DEFAULT_STATUS_LIMIT = 5 VAL_DEFAULT_POLLING_INTERVAL = 120 VAL_DEFAULT_RETRY_DELAY = 120 VAL_DEFAULT_CLIENT_TIMEOUT = 1800 VAL_DEFAULT_TEMP_FOLDER = "tmp" VAL_PYTHON_CONTROLLER = "controller.py" ACTION_CURRENT_MESSAGE = "Current" ACTION_ORIGINAL_MESSAGE = "Original" ACTION_MESSAGE_TO_DELIVER = "Message To Deliver" ACTION_MESSAGE_TO_PROCESS = "Message To Process" ACTION_SCRIPT_NAME = "Script Name" ACTION_MESSAGE_TYPE = "Message Type" ACTION_FILENAME_FORMAT = "Filename Format" ACTION_QUEUE_NAME = "Queue Name" ACTION_RECEIVER = "Receiver" ACTION_ICAP_URL = "ICAP Url" KEY_DEFAULT = "DEFAULT" KEY_DELIVER = "deliver" KEY_STORAGE_ROOT = "storage_root" KEY_ACTION_ID = "action_id" KEY_QUEUE_NAME = "queue_name" KEY_ITINERARY = "itinerary" KEY_PARMS = "parms" KEY_CONTEXT = "context" KEY_SYSINFO = "sysinfo" KEY_NODE_ID = "node" KEY_TEMP_FOLDER = "temp_folder" KEY_STATUS_LIMIT = "status_limit" KEY_INPUT_FILE = "input_file" KEY_INPUT = "input" KEY_PYTHONPATH = "PYTHONPATH" KEY_EVENT_NAME = "event" KEY_STATUS = "status" KEY_ROUTING_HEADER = "route" KEY_SERVICE = "service_type" PARM_LISTEN_ADDR = "listen_address" PARM_SERVER_CERT = "server_cert" PARM_SERVER_KEY = "server_key" PARM_SERVER_KEY_CRED = "server_key_cred" PARM_READ_TIMEOUT = "read_timeout" PARM_READ_HEADER_TIMEOUT = "read_header_timeout" PARM_WRITE_TIMEOUT = "write_timeout" PARM_CLIENT_TIMEOUT = "client_timeout" PARM_RESPONSE_HEADER_TIMEOUT = "response_header_timeout" PARM_LOG_FILE = "log_file" PARM_LOG_LEVEL = "log_level" PARM_MAX_LOGS = "max_logs" PARM_STORAGE_ROOT = "storage_root" PARM_QUEUE_NAME = "queue" PARM_NODE_ID = "node_id" PARM_SITE_ID = "site_id" PARM_MQ_URL = "mq_url" PARM_TEMP_FOLDER = "temp_folder" PARM_TMP_FOLDER = "tmp_folder" PARM_PYTHON_PATH = "python_path" PARM_DEFAULT_RECEIVER = "default_receiver" PARM_STATUS_LIMIT = "status_limit" PARM_RETRY_INTERVAL = "retry_interval" PARM_ELASTIC_URL = "elastic_url" PARM_THREAD_COUNT = "thread_count" PARM_SERVICE_NAME = "service_name" PARM_DATABASE_URL = "database_url" PARM_STORAGE_PROVIDER = "storage_provider" PARM_REGISTRATION_QUEUE = "registration_queue" PARM_WORKFLOW_QUEUE = "workflow_queue" PARM_WORKFLOW_MAILBOX_QUEUE = "mailbox_queue" PARM_ARCHIVE_QUEUE = "archive_queue" PARM_ERROR_QUEUE = "error_queue" PARM_INPUT_QUEUE = "input_queue" PARM_BACKOUT_QUEUE = "backout_queue" PARM_SCHEDULER_QUEUE = "scheduler_queue" PARM_SFTPD_KEY_FILE = "key_file" PARM_SFTPD_LISTEN_ADDR = "listen_address" PARM_SFTPD_LIST_LIMIT = "list_limit" PARM_RELOAD_FLAG = "reload" PARM_USER = "user" PARM_URL = "url" PARM_KEY_FILE = "key_file" PARM_PASSWORD = "password" PARM_CONFIGPATH = "configpath" PARM_UPLOAD_FOLDER = "upload_folder" PARM_DOWNLOAD_FOLDER = "download_folder" PARM_FILE_PATTERN = "pattern" PARM_ARCHIVE_FOLDER = "archive_folder" PARM_RECEIVER = "receiver" PARM_MESSAGE_TYPE = "message_type" PARM_SENDER = "sender" PARM_POLLING_INTERVAL = "polling_interval" PARM_SENDING_INTERVAL = "interval" PARM_UFA_PROFILES_FILE = "ufa_profiles.conf" PARM_UPDATE_INTERVAL = "update_interval" PARM_PYTHON_EXEC = "python_executable" PARM_PGP_ENCRYPTION_KEY = "Encryption Key" PARM_PGP_SIGNING_KEY = "Signing Key" PARM_PGP_ARMOR = "Armor" PARM_PGP_SIGN_MESSAGE = "Sign Message" PARM_PGP_SECRET_KEY_RING = "Secret Key Ring" PARM_PGP_VERIFY_SIGN = "Verify Signature" PARM_VALIDATION_RULES = "Validation Rules" NODEJS_EXECUTABLE = "node" EVENT_LOG = "log" EVENT_FILE = "file" EVENT_STATUS = "status" EVENT_LEVEL = "level" EVENT_TEXT = "text" EVENT_FILE_PATH = "path" EVENT_FILE_NAME = "fname" EVENT_REASON = "reason" HTTP_IDENTITY = "identity" HTTP_ACCEPT = "Accept" HTTP_CONNECTION = "Connection" HTTP_CONTENT_TYPE = "Content-Type" HTTP_USER_AGENT = "User-Agent" HTTP_VAL_APPLICATION_OCTET_STREAM = "application/octet-stream" HTTP_VAL_CLOSE = "close" UFA_DIST_DIR = "ufa_dist_dir" UFA_SERVER_URL = "ufa_server_url" UFA_PARM_OSNAME = "OS_NAME" UFA_PARM_OSTYPE = "OS_TYPE" UFA_PARM_UFAHOME = "UFA_HOME" UFA_PARM_HOSTNAME = "HOSTNAME" WS_PARM_URL = "URL" WS_PARM_AUTHTYPE = "Auth Type" WS_PARM_HTTP_METHOD = "HTTP Method" WS_PARM_HTTP_QUERYSTRING = "HTTP Query String" WS_PARM_HTTP_HEADERS = "HTTP headers" WS_PARM_KEYPAIR = "Key Pair" WS_PARM_OUTPUT_MSGTYPE = "Output Message Type" WS_PARM_OUTPUT_RECEIVER = "Output Receiver" WS_PARM_USERNAME = "User" WS_PARM_PASSWORD = "Password" SFG_INBOX_URL = "sfg_inbox_url" SFG_ADMIN_USER = "sfg_admin_user" SFG_ADMIN_PASSWORD = "sfg_admin_passwd" SFG_URL_TIMEOUT = "sfg_url_timeout" PARM_FROM_OS = "From OS" PARM_TO_OS = "To OS" PARM_WINDOWS_OS = "Windows(CRLF)" PARM_LINUX_OS = "Linux(LF)" PARM_MAC_OS = "Macintosh(CR)" PARM_OUTPUT_MSGTYPE = "Output Message Type" PARM_OUTPUT_RECEIVER = "Output Receiver" PARM_DELIVERYFLAG = "delivery" PARM_KAFKA_HOST = "kafka_host" PARM_KAFKA_PORT = "kafka_port" PARM_KAFKA_PARTITION = "kafka_partition" PARM_KAFKA_TOPIC = "kafka_topic" PARM_KAFKA_PASSWD = "kafka_passwd" PARM_KAFKA_USERNAME = "kafka_username" PARM_KAFKA_CERTFILE = "kafka_client_certpath" PARM_KAFKA_KEYFILE = "kafka_client_keypath" PARM_KAFKA_SECURITY = "kafka_security_protocol" PARM_KAFKA_QUEUE = "kafka_queue" PARM_KAFKA_ENV = "kafka_environment" PARM_KAFKA_SUBSYSTEM = "kafka_subsystem" PARM_S3_BUCKET = "S3 Bucket" PARM_S3_REGION = "S3 Region" PARM_S3_ACCESS_KEY = "S3 Access Key ID" PARM_S3_SECRET_KEY = "S3 Secret Key" PARM_S3_PROXY_URL = "ProxyURL" PARM_S3_PROXY_USERNAME = "ProxyUsername" PARM_S3_PROXY_PASSWORD = "ProxyPassword" PARM_S3_PROXY_REQUIRED = "ProxyRequired" PARM_GCS_BUCKET = "GCP Bucket" PARM_GCS_PROJECTID = "GCP Project ID" PARM_SMTP_HOST = "SMTP Host" PARM_SMTP_PORT = "SMTP Port" PARM_SMTP_USERNAME = "SMTP Username" PARM_SMTP_PASSWORD = "SMTP Password" PARM_SMTP_SEND_MESSAGE_DETAILS = "Send Message Details" //UFA CHUNKED FILE TRANSFER HTTP_CHUNK_NUMBER = "chunk_number" HTTP_FILE_UNIQUE_ID = "unique_file_id" HTTP_CHUNK_SIZE = "chunk_size" HTTP_BYTES_LENGTH = "bytes_length" SERVICE_COMMS = "amf_comms" SERVICE_UFA = "amf_http" SERVICE_REGISTRATION = "amf_registration" SERVICE_WORKFLOW = "amf_workflow" SERVICE_SCHEDULER = "amf_scheduler" SERVICE_CONNECTOR = "amf_appconnector" )
View Source
const ( LEVEL_DEBUG = "debug" LEVEL_WARNING = "warning" LEVEL_ERROR = "error" LEVEL_TRACE = "trace" LOGGER_TYPE_FILE = "file" LOGGER_FORMAT = "[%D %T] [%L] (%S) %M" )
Variables ¶
This section is empty.
Functions ¶
func CreateAmfHeader ¶
func CreateAmfHeaderMap ¶
func GetMD5CheckSum ¶
func StoreTempFile ¶
Types ¶
type AMFMessage ¶
func (AMFMessage) MarshalXML ¶
func (m AMFMessage) MarshalXML(e *xml.Encoder, start xml.StartElement) error
MarshalXML marshals the map to XML, with each key in the map being a tag and it's corresponding value being it's contents.
type ActionParms ¶
type AmfCommAction ¶
type AmfHeader ¶
type AmfHeader struct {
Sender string
Receiver string
MessageType string
ControlNo string
FileName string
ParentId string
Originator string
}
func ParseAmfHeader ¶
type AmfMessage ¶
type ChunkedFileInfo ¶
type CommService ¶
type DeliveryComms ¶
type EventParms ¶
type ScheduleMessage ¶
type ScheduleMessage struct {
}
type ScheduledComms ¶
type ScheduledComms struct {
RuleId string `json:"rule_id"`
Sender string `json:"sender"`
Receiver string `json:"receiver"`
MsgType string `json:"msg_type"`
ProtocolType string `json:"protocol_type"`
ActionId string `json:"action_id"`
BpName string `json:"bp_name"`
Delivery string `json:"delivery"`
ScheduleName string `json:"schedule_name"`
ScheduleType string `json:"schedule_type"`
ScheduleDetails map[string]interface{} `json:"schedule_details"`
ScheduleStatus string `json:"schedule_status"`
Active bool `json:"active"`
ActionType string `json:"action_type"`
PrevScheduleName string `json:"prev_schedule_name"`
PrevScheduleDetails map[string]interface{} `json:"prev_schedule_details"`
PrevSender string `json:"prev_sender"`
PrevReceiver string `json:"prev_receiver"`
PrevMsgType string `json:"prev_msg_type"`
PrevActionId string `json:"prev_action_id"`
}
type ServiceParms ¶
type SystemParms ¶
type TriggerCommWorkflow ¶
Click to show internal directories.
Click to hide internal directories.