• Home
  • Raw
  • Download

Lines Matching +full:data +full:- +full:urls

2 # -*- coding: utf-8 -*-
23 # SPDX-License-Identifier: curl
67 def duration(self) -> timedelta:
71 def stats(self) -> Optional[Dict[str,Any]]:
75 elapsed = datetime.now() - self._started_at
90 self._duration = datetime.now() - self._started_at
152 def exit_code(self) -> int:
156 def args(self) -> List[str]:
160 def outraw(self) -> bytes:
164 def stdout(self) -> str:
168 def json(self) -> Optional[Dict]:
173 def stderr(self) -> str:
177 def trace_lines(self) -> List[str]:
181 def duration(self) -> timedelta:
185 def profile(self) -> Optional[RunProfile]:
189 def response(self) -> Optional[Dict]:
193 def responses(self) -> List[Dict]:
197 def results(self) -> Dict:
201 def assets(self) -> List:
205 def with_stats(self) -> bool:
209 def stats(self) -> List:
213 def total_connects(self) -> Optional[int]:
324 lines = ['>>--stdout ----------------------------------------------\n']
326 lines.append('>>--stderr ----------------------------------------------\n')
328 lines.append('<<-------------------------------------------------------\n')
338 lines.append(f'>>--xfer {xfer_id} trace:\n')
341 lines.append('>>--full trace-------------------------------------------\n')
343 lines.append('<<-------------------------------------------------------\n')
346 def xfer_trace_for(self, xfer_id) -> List[str]:
347 pat = re.compile(f'^[^[]* \\[{xfer_id}-.*$')
354 'http/0.9': '--http0.9',
355 'http/1.0': '--http1.0',
356 'http/1.1': '--http1.1',
357 'h2': '--http2',
358 'h2c': '--http2',
359 'h3': '--http3-only',
377 def run_dir(self) -> str:
380 def download_file(self, i: int) -> str:
381 return os.path.join(self.run_dir, f'download_{i}.data')
402 '--proxy', f'https://{proxy_name}:{pport}/',
403 '--resolve', f'{proxy_name}:{pport}:127.0.0.1',
404 '--proxy-cacert', self.env.ca.cert_file,
407 xargs.append('--proxy-http2')
410 '--proxy', f'http://{proxy_name}:{self.env.proxy_port}/',
411 '--resolve', f'{proxy_name}:{self.env.proxy_port}:127.0.0.1',
414 xargs.append('--proxytunnel')
428 def http_download(self, urls: List[str],
439 '-o', '/dev/null',
443 '-o', 'download_#1.data',
450 '-w', '%{json}\\n'
452 return self._raw(urls, alpn_proto=alpn_proto, options=extra_args,
457 def http_upload(self, urls: List[str], data: str,
466 '--data-binary', data, '-o', 'download_#1.data',
470 '-w', '%{json}\\n'
472 return self._raw(urls, alpn_proto=alpn_proto, options=extra_args,
477 def http_delete(self, urls: List[str],
485 '-X', 'DELETE', '-o', '/dev/null',
489 '-w', '%{json}\\n'
491 return self._raw(urls, alpn_proto=alpn_proto, options=extra_args,
496 def http_put(self, urls: List[str], data=None, fdata=None, argument
505 extra_args.extend(['-T', fdata])
506 elif data is not None:
507 extra_args.extend(['-T', '-'])
509 '-o', 'download_#1.data',
513 '-w', '%{json}\\n'
515 return self._raw(urls, intext=data,
521 def http_form(self, urls: List[str], form: Dict[str, str],
529 extra_args.extend(['-F', f'{key}={val}'])
531 '-o', 'download_#1.data',
535 '-w', '%{json}\\n'
537 return self._raw(urls, alpn_proto=alpn_proto, options=extra_args,
541 def ftp_get(self, urls: List[str],
550 '-o', '/dev/null',
554 '-o', 'download_#1.data',
561 '-w', '%{json}\\n'
563 return self._raw(urls, options=extra_args,
568 def ftp_ssl_get(self, urls: List[str],
576 '--ssl-reqd',
578 return self.ftp_get(urls=urls, with_stats=with_stats,
583 return os.path.join(self._run_dir, f'download_{idx}.data')
589 '-w', '%{json}\\n'
592 '-o', 'download.data',
639 duration = now - started_at
642 exitcode = -1
648 duration=datetime.now() - started_at,
652 def _raw(self, urls, intext='', timeout=None, options=None, insecure=False, argument
660 urls=urls, timeout=timeout, options=options, insecure=insecure,
671 def _complete_args(self, urls, timeout=None, options=None, argument
676 if not isinstance(urls, list):
677 urls = [urls]
679 args = [self._curl, "-s", "--path-as-is"]
681 args.extend(["-D", self._headerfile])
683 args.extend(['-v', '--trace-ids', '--trace-time'])
685 args.extend(['--trace-config', 'http/2,http/3,h2-proxy,h1-proxy'])
689 if options is not None and '--next' in options:
690 active_options = options[options.index('--next') + 1:]
692 for url in urls:
693 u = urlparse(urls[0])
704 args.append('--insecure')
705 elif active_options and "--cacert" in active_options:
708 args.extend(["--cacert", self.env.ca.cert_file])
713 args.extend(["--resolve", f"{u.hostname}:{port}:127.0.0.1"])
715 args.extend(["--connect-timeout", str(int(timeout))])
719 def _parse_headerfile(self, headerfile: str, r: ExecResult = None) -> ExecResult: