;;;; intarweb-conditions.scm -*- Scheme -*- ;;;; Kon Lovett, Jul '18 ;;;; Kon Lovett, Jun '13 (module intarweb-conditions (;export ; http-condition? ;conflict w/ http-client-conditions ; urlencoded-request-data-limit-exceeded? urlencoded-request-data-limit-exceeded-contents urlencoded-request-data-limit-exceeded-limit ; line-limit-exceeded? line-limit-exceeded-contents line-limit-exceeded-limit ; header-error? header-error-contents ; header-limit-exceeded? header-limit-exceeded-contents header-limit-exceeded-limit ; unknown-protocol-line? unknown-protocol-line-line ; unknown-protocol? unknown-protocol-major unknown-protocol-minor ; unknown-code? unknown-code-code ; unknown-status? unknown-status-status ; rfc1123-subparser? rfc1123-subparser-value? ; rfc850-subparser? rfc850-subparser-value? ; asctime-subparser? asctime-subparser-value? ; http-date-subparser? http-date-subparser-value? ; unencoded-header? unencoded-header-value? ; username-with-colon? username-with-colon-value?) (import scheme (chicken base) (chicken condition) (chicken type) condition-utils) (include-relative "condition-utils.inline") ;;; Intarweb Egg Conditions ; (define-condition-predicate http-condition? exn http) ; (define-condition-predicate urlencoded-request-data-limit-exceeded? exn http urlencoded-request-data-limit-exceeded) (define-condition-property-accessor urlencoded-request-data-limit-exceeded-contents urlencoded-request-data-limit-exceeded contents) (define-condition-property-accessor urlencoded-request-data-limit-exceeded-limit urlencoded-request-data-limit-exceeded limit) ; (define-condition-predicate line-limit-exceeded? exn http line-limit-exceeded) (define-condition-property-accessor line-limit-exceeded-contents line-limit-exceeded contents) (define-condition-property-accessor line-limit-exceeded-limit line-limit-exceeded limit) ; (define-condition-predicate header-error? exn http header-error) (define-condition-property-accessor header-error-contents header-error contents) ; (define-condition-predicate header-limit-exceeded? exn http header-limit-exceeded) (define-condition-property-accessor header-limit-exceeded-contents header-limit-exceeded contents) (define-condition-property-accessor header-limit-exceeded-limit header-limit-exceeded limit) ; (define-condition-predicate unknown-protocol-line? exn http unknown-protocol-line) (define-condition-property-accessor unknown-protocol-line-line unknown-protocol-line line) ; (define-condition-predicate unknown-protocol? exn http unknown-protocol) (define-condition-property-accessor unknown-protocol-major unknown-protocol major) (define-condition-property-accessor unknown-protocol-minor unknown-protocol minor) ; (define-condition-predicate unknown-code? exn http unknown-code) (define-condition-property-accessor unknown-code-code unknown-code code) ; (define-condition-predicate unknown-status? exn http unknown-status) (define-condition-property-accessor unknown-status-status unknown-status status) ; (define-condition-predicate rfc1123-subparser? exn http rfc1123-subparser) (define-condition-property-accessor rfc1123-subparser-value? rfc1123-subparser value) ; (define-condition-predicate rfc850-subparser? exn http rfc850-subparser) (define-condition-property-accessor rfc850-subparser-value? rfc850-subparser value) ; (define-condition-predicate asctime-subparser? exn http asctime-subparser) (define-condition-property-accessor asctime-subparser-value? asctime-subparser value) ; (define-condition-predicate http-date-subparser? exn http http-date-subparser) (define-condition-property-accessor http-date-subparser-value? http-date-subparser value) ; (define-condition-predicate unencoded-header? exn http unencoded-header) (define-condition-property-accessor unencoded-header-value? unencoded-header value) ; (define-condition-predicate username-with-colon? exn http username-with-colon) (define-condition-property-accessor username-with-colon-value? username-with-colon value) ) ;intarweb-conditions