multipart.py
changeset 9946 ec88c1a1904a
parent 9735 b71158815bc8
child 10603 65ad6980976e
equal deleted inserted replaced
9945:cf5b0d0f5731 9946:ec88c1a1904a
   396         elif content_type in ('application/x-www-form-urlencoded',
   396         elif content_type in ('application/x-www-form-urlencoded',
   397                               'application/x-url-encoded'):
   397                               'application/x-url-encoded'):
   398             mem_limit = kw.get('mem_limit', 2**20)
   398             mem_limit = kw.get('mem_limit', 2**20)
   399             if content_length > mem_limit:
   399             if content_length > mem_limit:
   400                 raise MultipartError("Request to big. Increase MAXMEM.")
   400                 raise MultipartError("Request to big. Increase MAXMEM.")
   401             data = stream.read(mem_limit).decode(charset)
   401             data = stream.read(mem_limit)
   402             if stream.read(1): # These is more that does not fit mem_limit
   402             if stream.read(1): # These is more that does not fit mem_limit
   403                 raise MultipartError("Request to big. Increase MAXMEM.")
   403                 raise MultipartError("Request to big. Increase MAXMEM.")
   404             data = parse_qs(data, keep_blank_values=True)
   404             data = parse_qs(data, keep_blank_values=True)
   405             for key, values in data.iteritems():
   405             for key, values in data.iteritems():
   406                 for value in values:
   406                 for value in values:
   407                     forms[key] = value
   407                     forms[key] = value.decode(charset)
   408         else:
   408         else:
   409             raise MultipartError("Unsupported content type.")
   409             raise MultipartError("Unsupported content type.")
   410     except MultipartError:
   410     except MultipartError:
   411         if strict: raise
   411         if strict: raise
   412     return forms, files
   412     return forms, files