1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 from caldavclientlibrary.client.httpshandler import SmartHTTPConnection
18 from caldavclientlibrary.protocol.webdav.session import Session
19 from caldavclientlibrary.protocol.webdav.options import Options
20
21 -def run(session, request):
22
23
24 connect = SmartHTTPConnection(session.server, session.port, session.ssl)
25 connect.set_debuglevel(1)
26
27
28 connect.putrequest(request.method, request.url, skip_host=True, skip_accept_encoding=True)
29 hdrs = request.getRequestHeaders()
30 for header, value in hdrs.iteritems():
31 connect.putheader(header, value)
32 connect.endheaders()
33
34
35 stream = request.getRequestDataStream()
36 if stream:
37 stream.start()
38 more = True
39 while more:
40 data, more = stream.read()
41 if data:
42 connect.send(data)
43 stream.stop()
44
45
46 response = connect.getresponse()
47
48
49 request.setResponseStatus(response.version, response.status, response.reason)
50 request.setResponseHeaders(response.getheaders())
51
52
53
54 if __name__ == '__main__':
55 session = Session("www.mulberrymail.com")
56 request = Options(session, "/")
57
58 run(session, request)
59