From e81a7357ed63dbaeec9debe877f3be2179011683 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Sat, 8 Jul 2006 20:02:48 +0000 Subject: class/tinderclient.bbclass: Send bigger files in smaller chunks to avoid broken firewalls Thanks to the firewall fascists of A???? longer HTTP requests were lost in the corporate firewall. Avoid this situation by sending the data in smaller chunks. --- classes/tinderclient.bbclass | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'classes') diff --git a/classes/tinderclient.bbclass b/classes/tinderclient.bbclass index 6e10d0f34b..f544c203fe 100644 --- a/classes/tinderclient.bbclass +++ b/classes/tinderclient.bbclass @@ -13,12 +13,15 @@ def tinder_http_post(server, selector, content_type, body): #print errcode, errmsg, headers return (errcode,errmsg, headers, h.file) except: + print "Error sending the report!" # try again pass + # return some garbage + return (-1, "unknown", "unknown", None) + def tinder_form_data(bound, dict, log): output = [] - #br # for each key in the dictionary for name in dict: output.append( "--" + bound ) @@ -119,7 +122,7 @@ def tinder_build_start(d): f.write(report) -def tinder_send_http(d, status, log): +def tinder_send_http(d, status, _log): """ Send this log as build status """ @@ -127,16 +130,19 @@ def tinder_send_http(d, status, log): # get the body and type - content_type, body = tinder_format_http_post(d,status,log) server = data.getVar('TINDER_HOST', d, True ) url = data.getVar('TINDER_URL', d, True ) selector = url + "/xml/build_status.pl" - # now post it - errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body) - #print errcode, errmsg, headers - #print h.file.read() + # now post it - in chunks of 10.000 charachters + new_log = _log + while len(new_log) > 0: + content_type, body = tinder_format_http_post(d,status,new_log[0:18000]) + errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body) + #print errcode, errmsg, headers + #print h.file.read() + new_log = new_log[18000:] def tinder_print_info(d): -- cgit v1.2.3