43 |
43 |
44 #include "../util/pblock.h" |
44 #include "../util/pblock.h" |
45 #include "../util/util.h" |
45 #include "../util/util.h" |
46 #include "../daemon/session.h" |
46 #include "../daemon/session.h" |
47 #include "../daemon/http.h" |
47 #include "../daemon/http.h" |
|
48 #include "../daemon/protocol.h" |
48 |
49 |
49 static UcxMap *method_handler_map; |
50 static UcxMap *method_handler_map; |
50 |
51 |
51 static WebdavBackend default_backend; |
52 static WebdavBackend default_backend; |
52 |
53 |
160 int webdav_options(pblock *pb, Session *sn, Request *rq) { |
161 int webdav_options(pblock *pb, Session *sn, Request *rq) { |
161 return REQ_ABORTED; |
162 return REQ_ABORTED; |
162 } |
163 } |
163 |
164 |
164 int webdav_propfind(pblock *pb, Session *sn, Request *rq) { |
165 int webdav_propfind(pblock *pb, Session *sn, Request *rq) { |
|
166 char *expect = pblock_findkeyval(pb_key_expect, rq->headers); |
|
167 if(expect) { |
|
168 if(!strcasecmp(expect, "100-continue")) { |
|
169 if(http_send_continue(sn)) { |
|
170 return REQ_ABORTED; |
|
171 } |
|
172 } |
|
173 } |
|
174 |
165 UcxBuffer *reqbody = rqbody2buffer(sn, rq); |
175 UcxBuffer *reqbody = rqbody2buffer(sn, rq); |
166 if(!reqbody) { |
176 if(!reqbody) { |
167 return REQ_ABORTED; |
177 return REQ_ABORTED; |
168 } |
178 } |
169 |
179 |