Commit f58fea8f737675640681bd56e1ccf40ab497353d
1 parent
747d29f6
manage the upload through the ssl_connection
Showing
1 changed file
with
33 additions
and
14 deletions
Show diff stats
web/CXM_multihost_http_server.anubis
| ... | ... | @@ -3220,8 +3220,8 @@ define One |
| 3220 | 3220 | |
| 3221 | 3221 | if get_socket_from_connection(conn(connection)) is |
| 3222 | 3222 | { |
| 3223 | - failure then println("can't get socket"), | |
| 3224 | - success(source) then | |
| 3223 | + failure then println("can't get socket"), | |
| 3224 | + success(socket_type) then | |
| 3225 | 3225 | |
| 3226 | 3226 | with tmp_body_file = "/temp/" + virtual_machine_id + "-" + now, |
| 3227 | 3227 | if (Maybe(RWStream))file(desc.site_directory + tmp_body_file, new) is |
| ... | ... | @@ -3238,18 +3238,37 @@ define One |
| 3238 | 3238 | { |
| 3239 | 3239 | failure then println("Can't flush the buffer"), |
| 3240 | 3240 | success(_) then |
| 3241 | - if copy_file(weaken(source), weaken(target), body_size - buffer_size) is copy_ok(read_size) then | |
| 3242 | - | |
| 3243 | - with duration = (UTime) unow - t0, | |
| 3244 | - println("Read body "+read_size+" duration: " + __utime_to_string(duration)); | |
| 3245 | - | |
| 3246 | - multipart_form_data_answer(host_name, desc, connection.conn, ip_addr, rqline2, headers, desc.site_directory + tmp_body_file, generate_tt, s); | |
| 3247 | - | |
| 3248 | - //it's HTTP 1.1 keep-alive is default | |
| 3249 | - http_https_handler(sites, connection, is_https, dos, s) | |
| 3250 | - | |
| 3251 | - else | |
| 3252 | - println("Can't copy data from stream to temporary file ") | |
| 3241 | + if socket_type is | |
| 3242 | + { | |
| 3243 | + tcp_socket(source) then | |
| 3244 | + | |
| 3245 | + if copy_file(weaken(source), weaken(target), body_size - buffer_size) is copy_ok(read_size) then | |
| 3246 | + | |
| 3247 | + with duration = (UTime) unow - t0, | |
| 3248 | + println("Read body "+read_size+" duration: " + __utime_to_string(duration)); | |
| 3249 | + | |
| 3250 | + multipart_form_data_answer(host_name, desc, connection.conn, ip_addr, rqline2, headers, desc.site_directory + tmp_body_file, generate_tt, s); | |
| 3251 | + | |
| 3252 | + //it's HTTP 1.1 keep-alive is default | |
| 3253 | + http_https_handler(sites, connection, is_https, dos, s) | |
| 3254 | + | |
| 3255 | + else | |
| 3256 | + println("Can't copy data from stream to temporary file "), | |
| 3257 | + | |
| 3258 | + ssl_socket(source) then | |
| 3259 | + if copy_file(source, weaken(target), body_size - buffer_size) is copy_ok(read_size) then | |
| 3260 | + | |
| 3261 | + with duration = (UTime) unow - t0, | |
| 3262 | + println("Read body "+read_size+" duration: " + __utime_to_string(duration)); | |
| 3263 | + | |
| 3264 | + multipart_form_data_answer(host_name, desc, connection.conn, ip_addr, rqline2, headers, desc.site_directory + tmp_body_file, generate_tt, s); | |
| 3265 | + | |
| 3266 | + //it's HTTP 1.1 keep-alive is default | |
| 3267 | + http_https_handler(sites, connection, is_https, dos, s) | |
| 3268 | + | |
| 3269 | + else | |
| 3270 | + println("Can't copy data from stream to temporary file ") | |
| 3271 | + } | |
| 3253 | 3272 | }}} |
| 3254 | 3273 | else |
| 3255 | 3274 | println("body_size = 0 !") | ... | ... |