<?php
$request=json_decode(file_get_contents(__DIR__.'/private-request.json'),true);$port=getenv('PM_LANE')==='B'?18721:18722;foreach($request['cases'] as $case){if(!in_array($case['label'],['templateLists','templateInfo','stationLists','stationInfo'],true))continue;$curl=curl_init('http://127.0.0.1:'.$port.$case['path']);curl_setopt_array($curl,[CURLOPT_POST=>true,CURLOPT_POSTFIELDS=>http_build_query($case['params']),CURLOPT_RETURNTRANSFER=>true,CURLOPT_HTTPHEADER=>['token: '.$request['token'],'X-CDX-Case: '.$case['label']],CURLOPT_CONNECTTIMEOUT=>5,CURLOPT_TIMEOUT=>40]);$body=curl_exec($curl);$info=curl_getinfo($curl);$error=curl_error($curl);curl_close($curl);if($body===false)throw new RuntimeException('Bounded HTTP error');file_put_contents(__DIR__.'/private-retest-'.$case['label'].'.httpbody',$body);chmod(__DIR__.'/private-retest-'.$case['label'].'.httpbody',0600);$decoded=json_decode($body,true);$summary=['label'=>$case['label'],'HTTP'=>$info['http_code'],'business_code'=>$decoded['code']??null,'bytes'=>strlen($body),'body_sha256'=>hash('sha256',$body),'duration_seconds'=>$info['total_time'],'error'=>$error];file_put_contents(__DIR__.'/private-retest-'.$case['label'].'.http.json',json_encode($summary,JSON_PRETTY_PRINT));chmod(__DIR__.'/private-retest-'.$case['label'].'.http.json',0600);echo json_encode($summary),"\n";}
