code: def _request(request, request_fallback=None):
          ''' Extract request fields wherever they may come from: GET, POST, forms, fallback '''
          # Use lambdas to avoid evaluating bottle.request.* which may throw an Error
          all_dicts = [
              lambda: request.json,
              lambda: request.forms,
              lambda: request.query,
              lambda: request.files,
              #lambda: request.POST,
              lambda: request_fallback
          ]
          request_dict = dict()
          for req_dict_ in all_dicts:
              try:
                  req_dict = req_dict_()
              except KeyError:
                  continue
              if req_dict is not None and hasattr(req_dict, 'items'):
                  for req_key, req_val in req_dict.items():
                      request_dict[req_key] = req_val
          return request_dicf _request(request, request_fallback=None):
          ''' Extract request fields wherever they may come from: GET, POST, forms, fallback '''
          # Use lambdas to avoid evaluating bottle.request.* which may throw an Error
          all_dicts = [
              lambda: request.json,
              lambda: request.forms,
              lambda: request.query,
              lambda: request.files,
              #lambda: request.POST,
              lambda: request_fallback
          ]
          request_dict = dict()
          for req_dict_ in all_dicts:
              try:
                  req_dict = req_dict_()
              except KeyError:
                  continue
              if req_dict is not None and hasattr(req_dict, 'items'):
                  for req_key, req_val in req_dict.items():
                      request_dict[req_key] = req_val
          return request_dict
docs: Extract request fields wherever they may come from: GET, POST, forms, fallback