Changeset 15140 in project


Ignore:
Timestamp:
07/02/09 22:27:03 (12 years ago)
Author:
sjamaan
Message:

Add back "secure" cookie param...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/http-client/trunk/http-client.scm

    r15139 r15140  
    191191                           (loop (cdr path) (cdr uri-path)))))))))
    192192
     193;; We store slightly more info about a cookie than a cookie header
     194;; accepts, so filter it.
     195(define (cookie-info->cookie info)
     196  (vector (get-value info)
     197          (filter (lambda (p)
     198                    (member (car p) '(domain path)))
     199                  (get-params info))))
     200
    193201(define (get-cookies-for-uri uri)
    194   (sort!
    195    (filter (lambda (c)
    196              (and (domain-match? uri (get-param 'domain c))
    197                   (member (uri-port uri)
    198                           (get-param 'port c (list (uri-port uri))))
    199                   (path-match? uri (get-param 'path c))
    200                   (if (get-param 'secure c)
    201                       (member (uri-scheme uri) '(https shttp))
    202                       #t)))
    203            cookie-jar)
    204    (lambda (a b)
    205      (< (string-length (get-param 'path a))
    206         (string-length (get-param 'path b))))))
     202  (map cookie-info->cookie
     203       (sort!
     204        (filter (lambda (c)
     205                  (and (domain-match? uri (get-param 'domain c))
     206                       (member (uri-port uri)
     207                               (get-param 'port c (list (uri-port uri))))
     208                       (path-match? uri (get-param 'path c))
     209                       (if (get-param 'secure c)
     210                           (member (uri-scheme uri) '(https shttp))
     211                           #t)))
     212                cookie-jar)
     213        (lambda (a b)
     214          (< (string-length (get-param 'path a))
     215             (string-length (get-param 'path b)))))))
    207216
    208217(define (process-set-cookie! con uri r)
     
    224233                                         `((version . ,(get-param 'version c))
    225234                                           (path . ,path)
    226                                            (domain . ,dn))))))
     235                                           (domain . ,dn)
     236                                           (secure . ,(get-param 'secure c)))))))
    227237              (header-contents 'set-cookie (response-headers r) '()))
    228238    (for-each (lambda (c)
     
    252262                                           (port . ,(if (eq? ports 'any)
    253263                                                        #f
    254                                                         ports)))))))
     264                                                        ports))
     265                                           (secure . ,(get-param 'secure c)))))))
    255266              (header-contents 'set-cookie2 (response-headers r) '()))))
    256267
Note: See TracChangeset for help on using the changeset viewer.