Projects
Wiki     Timeline     Roadmap     Browse Source     View Tickets     New Ticket     Search

Ticket #468: calendarserver_CardDavMATE.diff

File calendarserver_CardDavMATE.diff, 2.8 KB (added by jan.mate@…, 19 months ago)
  • http_headers.py

    diff -ru web2/http_headers.py web2-CardDavMATE/http_headers.py
    old new  
    15311531    'Set-Cookie2':(tokenize, parseSetCookie2), 
    15321532    'Vary':(tokenize, filterTokens), 
    15331533    'WWW-Authenticate': (lambda h: tokenize(h, foldCase=False), 
    1534                          parseWWWAuthenticate,) 
     1534                         parseWWWAuthenticate,), 
     1535 
     1536    # begin CardDavMATE section 
     1537    'Access-Control-Allow-Origin':(last,), 
     1538    'Access-Control-Allow-Methods':(last,), 
     1539    'Access-Control-Allow-Headers':(last,), 
     1540    'Access-Control-Allow-Credentials':(last,) 
     1541    # end CardDavMATE section 
    15351542} 
    15361543 
    15371544generator_response_headers = { 
     
    15451552    'Set-Cookie':(generateSetCookie,), 
    15461553    'Set-Cookie2':(generateSetCookie2,), 
    15471554    'Vary':(generateList, singleHeader), 
    1548     'WWW-Authenticate':(generateWWWAuthenticate,) 
     1555    'WWW-Authenticate':(generateWWWAuthenticate,), 
     1556 
     1557    # begin CardDavMATE section 
     1558    'Access-Control-Allow-Origin':(str, singleHeader), 
     1559    'Access-Control-Allow-Methods':(str, singleHeader), 
     1560    'Access-Control-Allow-Headers':(str, singleHeader), 
     1561    'Access-Control-Allow-Credentials':(str, singleHeader) 
     1562    # end CardDavMATE section 
    15491563} 
    15501564 
    15511565parser_entity_headers = { 
  • server.py

    diff -ru web2/server.py web2-CardDavMATE/server.py
    old new  
    5858        response.headers.setHeader('server', VERSION) 
    5959    if not response.headers.hasHeader('date'): 
    6060        response.headers.setHeader('date', time.time()) 
     61 
     62    # begin CardDavMATE section 
     63    if not response.headers.hasHeader('Access-Control-Allow-Origin'): 
     64        response.headers.setHeader('Access-Control-Allow-Origin', '*') 
     65    if not response.headers.hasHeader('Access-Control-Allow-Methods'): 
     66        response.headers.setHeader('Access-Control-Allow-Methods','GET,POST,OPTIONS,PROPFIND,REPORT,PUT,DELETE') 
     67    if not response.headers.hasHeader('Access-Control-Allow-Headers'): 
     68        response.headers.setHeader('Access-Control-Allow-Headers','User-Agent,Authorization,Content-type,Depth,If-match,If-None-Match,X-client') 
     69    if not response.headers.hasHeader('Access-Control-Allow-Credentials'): 
     70        response.headers.setHeader('Access-Control-Allow-Credentials','true') 
     71    # end CardDavMATE section 
     72 
    6173    return response 
    6274defaultHeadersFilter.handleErrors = True 
    6375 
     
    354366        example. This would also be the place to do any CONNECT 
    355367        processing.""" 
    356368 
    357         if self.method == "OPTIONS" and self.uri == "*": 
     369        if self.method == "OPTIONS": 
    358370            response = http.Response(responsecode.OK) 
    359371            response.headers.setHeader('allow', ('GET', 'HEAD', 'OPTIONS', 'TRACE')) 
    360372            return response