ada-url/ada

Produce correct relative URLs

開放

#509 建立於 2023年9月6日

 (3 則留言) (0 個反應) (0 位負責人)C++ (134 個分叉)github user discovery
enhancementhelp wanted

倉庫指標

星標
 (1,821 顆星)
PR 合併指標
 (平均合併 3天 1小時) (30 天內合併 34 個 PR)

描述

What is the problem this feature will solve?

The URL Standard describes how to combine a string with a relative path with a base URL to produce a valid absolute URL.

This feature request is: given an absolute URL and a base URL, produce a string with a relative path that when joined to the base URL, would produce the original absolute URL.

This is similar to file system path operations like Go's Rel and Python's relpath.

Practical application: some HLS video players expect relative paths, despite the HLS spec allowing for absolute paths. I want to produce correct relative paths given the relevant absolute ones.

What is the feature you are proposing to solve the problem?

Some function like:

ada_relative_path(base, input)

Example:

  • base: https://example.org:8080/origin/multivariant/playlist.m3u8
  • input: https://example.org:8080/origin/media/1080p.m3u8
  • output: ../media/1080p.m3u8
  • validate: parse output with base, get back input

What alternatives have you considered?

Using the file system tools.

貢獻者指南