@@ -506,4 +506,69 @@ describeWithEnvironment('NetworkLogView', () => {
506506 const backgroundColorOfIcon = iconStyle . backgroundColor . toString ( ) ;
507507 assert . strictEqual ( backgroundColorOfIcon , 'var(--icon-warning)' ) ;
508508 } ) ;
509+
510+ it ( 'uses x-fb-friendly-name from response headers when present' , async ( ) => {
511+ const request = SDK . NetworkRequest . NetworkRequest . create (
512+ 'requestId' as Protocol . Network . RequestId , urlString `https://www.example.com/api/v1/users/12345` , urlString `` ,
513+ null , null , null ) ;
514+ request . statusCode = 200 ;
515+ request . responseHeaders = [ { name : 'x-fb-friendly-name' , value : 'GetUserProfile' } ] ;
516+
517+ const networkRequestNode = new Network . NetworkDataGridNode . NetworkRequestNode (
518+ { } as Network . NetworkDataGridNode . NetworkLogViewInterface , request ) ;
519+ const el = document . createElement ( 'div' ) ;
520+ networkRequestNode . renderCell ( el , 'name' ) ;
521+
522+ // The cell should contain the friendly name instead of the default URL name
523+ assert . include ( el . textContent , 'GetUserProfile' ) ;
524+ } ) ;
525+
526+ it ( 'uses x-fb-friendly-name from request headers when not in response' , async ( ) => {
527+ const request = SDK . NetworkRequest . NetworkRequest . create (
528+ 'requestId' as Protocol . Network . RequestId , urlString `https://www.example.com/graphql` , urlString `` , null , null ,
529+ null ) ;
530+ request . statusCode = 200 ;
531+ request . setRequestHeaders ( [ { name : 'x-fb-friendly-name' , value : 'CreatePost' } ] ) ;
532+
533+ const networkRequestNode = new Network . NetworkDataGridNode . NetworkRequestNode (
534+ { } as Network . NetworkDataGridNode . NetworkLogViewInterface , request ) ;
535+ const el = document . createElement ( 'div' ) ;
536+ networkRequestNode . renderCell ( el , 'name' ) ;
537+
538+ // The cell should contain the friendly name from request headers
539+ assert . include ( el . textContent , 'CreatePost' ) ;
540+ } ) ;
541+
542+ it ( 'uses default name when x-fb-friendly-name is not present' , async ( ) => {
543+ const request = SDK . NetworkRequest . NetworkRequest . create (
544+ 'requestId' as Protocol . Network . RequestId , urlString `https://www.example.com/test.js` , urlString `` , null , null ,
545+ null ) ;
546+ request . statusCode = 200 ;
547+
548+ const networkRequestNode = new Network . NetworkDataGridNode . NetworkRequestNode (
549+ { } as Network . NetworkDataGridNode . NetworkLogViewInterface , request ) ;
550+ const el = document . createElement ( 'div' ) ;
551+ networkRequestNode . renderCell ( el , 'name' ) ;
552+
553+ // The cell should contain the default name (test.js)
554+ assert . include ( el . textContent , 'test.js' ) ;
555+ } ) ;
556+
557+ it ( 'prefers response header x-fb-friendly-name over request header' , async ( ) => {
558+ const request = SDK . NetworkRequest . NetworkRequest . create (
559+ 'requestId' as Protocol . Network . RequestId , urlString `https://www.example.com/api/data` , urlString `` , null , null ,
560+ null ) ;
561+ request . statusCode = 200 ;
562+ request . responseHeaders = [ { name : 'x-fb-friendly-name' , value : 'ResponseName' } ] ;
563+ request . setRequestHeaders ( [ { name : 'x-fb-friendly-name' , value : 'RequestName' } ] ) ;
564+
565+ const networkRequestNode = new Network . NetworkDataGridNode . NetworkRequestNode (
566+ { } as Network . NetworkDataGridNode . NetworkLogViewInterface , request ) ;
567+ const el = document . createElement ( 'div' ) ;
568+ networkRequestNode . renderCell ( el , 'name' ) ;
569+
570+ // The cell should contain the response header value, not the request header value
571+ assert . include ( el . textContent , 'ResponseName' ) ;
572+ assert . notInclude ( el . textContent , 'RequestName' ) ;
573+ } ) ;
509574} ) ;
0 commit comments