;;;; intarweb-conditions.scm ;;;; Kon Lovett, Jun '13 (module intarweb-conditions (;export ; http-condition? ; 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) (use condition-utils) ;; (define http-condition? (make-condition-predicate exn http)) ;; (define urlencoded-request-data-limit-exceeded? (make-condition-predicate exn http urlencoded-request-data-limit-exceeded)) (define urlencoded-request-data-limit-exceeded-contents (make-condition-property-accessor urlencoded-request-data-limit-exceeded contents)) (define urlencoded-request-data-limit-exceeded-limit (make-condition-property-accessor urlencoded-request-data-limit-exceeded limit)) ;; (define line-limit-exceeded? (make-condition-predicate exn http line-limit-exceeded)) (define line-limit-exceeded-contents (make-condition-property-accessor line-limit-exceeded contents)) (define line-limit-exceeded-limit (make-condition-property-accessor line-limit-exceeded limit)) ;; (define header-error? (make-condition-predicate exn http header-error)) (define header-error-contents (make-condition-property-accessor header-error contents)) ;; (define header-limit-exceeded? (make-condition-predicate exn http header-limit-exceeded)) (define header-limit-exceeded-contents (make-condition-property-accessor header-limit-exceeded contents)) (define header-limit-exceeded-limit (make-condition-property-accessor header-limit-exceeded limit)) ;; (define unknown-protocol-line? (make-condition-predicate exn http unknown-protocol-line)) (define unknown-protocol-line-line (make-condition-property-accessor unknown-protocol-line line)) ;; (define unknown-protocol? (make-condition-predicate exn http unknown-protocol)) (define unknown-protocol-major (make-condition-property-accessor unknown-protocol major)) (define unknown-protocol-minor (make-condition-property-accessor unknown-protocol minor)) ;; (define unknown-code? (make-condition-predicate exn http unknown-code)) (define unknown-code-code (make-condition-property-accessor unknown-code code)) ;; (define unknown-status? (make-condition-predicate exn http unknown-status)) (define unknown-status-status (make-condition-property-accessor unknown-status status)) ;; (define rfc1123-subparser? (make-condition-predicate exn http rfc1123-subparser)) (define rfc1123-subparser-value? (make-condition-property-accessor rfc1123-subparser value)) ;; (define rfc850-subparser? (make-condition-predicate exn http rfc850-subparser)) (define rfc850-subparser-value? (make-condition-property-accessor rfc850-subparser value)) ;; (define asctime-subparser? (make-condition-predicate exn http asctime-subparser)) (define asctime-subparser-value? (make-condition-property-accessor asctime-subparser value)) ;; (define http-date-subparser? (make-condition-predicate exn http http-date-subparser)) (define http-date-subparser-value? (make-condition-property-accessor http-date-subparser value)) ;; (define unencoded-header? (make-condition-predicate exn http unencoded-header)) (define unencoded-header-value? (make-condition-property-accessor unencoded-header value)) ;; (define username-with-colon? (make-condition-predicate exn http username-with-colon)) (define username-with-colon-value? (make-condition-property-accessor username-with-colon value)) ) ;intarweb-conditions