@@ -438,49 +438,40 @@ async def extract_request_info(self):
438438        if  client  is  None :
439439            return  None 
440440
441-         data  =  None   # type: Union[Dict[str, Any], AnnotatedValue, None] 
442- 
443-         content_length  =  await  self .content_length ()
444441        request_info  =  {}  # type: Dict[str, Any] 
445442
446443        with  capture_internal_exceptions ():
447444            if  _should_send_default_pii ():
448445                request_info ["cookies" ] =  self .cookies ()
449446
450-             if  not  request_body_within_bounds (client , content_length ):
451-                 data  =  AnnotatedValue (
452-                     "" ,
453-                     {
454-                         "rem" : [["!config" , "x" , 0 , content_length ]],
455-                         "len" : content_length ,
456-                     },
457-                 )
458-             else :
459-                 parsed_body  =  await  self .parsed_body ()
460-                 if  parsed_body  is  not None :
461-                     data  =  parsed_body 
462-                 elif  await  self .raw_data ():
463-                     data  =  AnnotatedValue (
464-                         "" ,
465-                         {
466-                             "rem" : [["!raw" , "x" , 0 , content_length ]],
467-                             "len" : content_length ,
468-                         },
469-                     )
447+             content_length  =  await  self .content_length ()
448+ 
449+             if  content_length :
450+                 data  =  None   # type: Union[Dict[str, Any], AnnotatedValue, None] 
451+ 
452+                 if  not  request_body_within_bounds (client , content_length ):
453+                     data  =  AnnotatedValue .removed_because_over_size_limit ()
454+ 
470455                else :
471-                     data  =  None 
456+                     parsed_body  =  await  self .parsed_body ()
457+                     if  parsed_body  is  not None :
458+                         data  =  parsed_body 
459+                     elif  await  self .raw_data ():
460+                         data  =  AnnotatedValue .removed_because_raw_data ()
461+                     else :
462+                         data  =  None 
472463
473-             if  data  is  not None :
474-                 request_info ["data" ] =  data 
464+                  if  data  is  not None :
465+                      request_info ["data" ] =  data 
475466
476467        return  request_info 
477468
478469    async  def  content_length (self ):
479-         # type: (StarletteRequestExtractor) -> int 
480-         raw_data   =   await  self .raw_data () 
481-         if   raw_data   is   None : 
482-              return   0 
483-         return  len ( raw_data ) 
470+         # type: (StarletteRequestExtractor) -> Optional[ int]  
471+         if   "content-length"   in  self .request . headers : 
472+              return   int ( self . request . headers [ "content-length" ]) 
473+ 
474+         return  None 
484475
485476    def  cookies (self ):
486477        # type: (StarletteRequestExtractor) -> Dict[str, Any] 
@@ -525,10 +516,7 @@ async def parsed_body(self):
525516            data  =  {}
526517            for  key , val  in  iteritems (form ):
527518                if  isinstance (val , UploadFile ):
528-                     size  =  len (await  val .read ())
529-                     data [key ] =  AnnotatedValue (
530-                         "" , {"len" : size , "rem" : [["!raw" , "x" , 0 , size ]]}
531-                     )
519+                     data [key ] =  AnnotatedValue .removed_because_raw_data ()
532520                else :
533521                    data [key ] =  val 
534522
0 commit comments