about summary refs log blame commit diff stats
path: root/src/loader/connecterror.nim
blob: 08f7b4363fb946a4d28d2048473f3e5b9e186f01 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
                             

                                                                    
                                                                            








                                                                              


                                                                  
                                               








                                                                  




                                                
                                                                   
                                  
                                         
type ConnectErrorCode* = enum
  ERROR_URL_NOT_IN_CACHE = (-16, "URL was not found in the cache")
  ERROR_FILE_NOT_IN_CACHE = (-15, "file was not found in the cache")
  ERROR_FAILED_TO_EXECUTE_CGI_SCRIPT = (-14, "failed to execute CGI script")
  ERROR_CGI_NO_DATA = (-13, "CGI script returned no data")
  ERROR_CGI_MALFORMED_HEADER = (-12, "CGI script returned a malformed header")
  ERROR_CGI_INVALID_CHA_CONTROL = (-11, "CGI got invalid Cha-Control header")
  ERROR_TOO_MANY_REWRITES = (-10, "too many URI method map rewrites")
  ERROR_INVALID_URI_METHOD_ENTRY = (-9, "invalid URI method entry")
  ERROR_CGI_FILE_NOT_FOUND = (-8, "CGI file not found")
  ERROR_INVALID_CGI_PATH = (-7, "invalid CGI path")
  ERROR_FAIL_SETUP_CGI = (-6, "failed to set up CGI script")
  ERROR_NO_CGI_DIR = (-5, "no local-CGI directory configured")
  ERROR_SOURCE_NOT_FOUND = (-4, "clone source could not be found")
  ERROR_LOADER_KILLED = (-3, "loader killed during transfer")
  ERROR_DISALLOWED_URL = (-2, "url not allowed by filter")
  ERROR_UNKNOWN_SCHEME = (-1, "unknown scheme")
  CONNECTION_SUCCESS = (0, "connection successful")
  ERROR_INTERNAL = (1, "internal error")
  ERROR_INVALID_METHOD = (2, "invalid method")
  ERROR_INVALID_URL = (3, "invalid URL")
  ERROR_FILE_NOT_FOUND = (4, "file not found")
  ERROR_CONNECTION_REFUSED = (5, "connection refused")
  ERROR_PROXY_REFUSED_TO_CONNECT = (6, "proxy refused to connect")
  ERROR_FAILED_TO_RESOLVE_HOST = (7, "failed to resolve host")
  ERROR_FAILED_TO_RESOLVE_PROXY = (8, "failed to resolve proxy")

converter toInt*(code: ConnectErrorCode): int =
  return int(code)

func getLoaderErrorMessage*(code: int): string =
  if code in int(ConnectErrorCode.low)..int(ConnectErrorCode.high):
    return $ConnectErrorCode(code)
  return "unexpected error code " & $code