Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/curl/trurl

a command line tool for URL parsing and manipulation.
https://github.com/curl/trurl

offer {puny:host} and {puny:url} for --get

Added two tests. Added docs.

Requires >= 7.88.0 at build time.

Fixes #64

bf96408b4e9ba0192d35bd8750a2e92815b657db authored over 1 year ago by Daniel Stenberg <[email protected]>
no printing trimmed querys in json output

This commit removes bug where a trimmed query show up as empty
key/value pairs in the json repre...

9de996032503522e527c3c0a2c840c86e9784db6 authored over 1 year ago by Jacob Mealey <[email protected]>
trurl: fix query splitting

curl_easy_unescape(NULL, str, ilen, &olen) interprets 0 ilen as
equivalent to strlen(str). The c...

c4216a6fb0d1b02366d958f575b05a0d6629298e authored over 1 year ago by Emanuele Torre <[email protected]>
URL-QUIRKS: specify if they are build-time or run-time requirements

The difference makes sense for tests using said "quirks".

e26c069f63767580e1830a1c4274a2886e6c8ca7 authored over 1 year ago by Daniel Stenberg <[email protected]>
Add requirements.txt for python dependencies

b1c1e5ccfe39975531e383c753da9aa0b6c114cf authored over 1 year ago by Krishean Draconis <[email protected]>
Update MacOS CI to use python3

ce22037777739f66c681c67bbd9a505a67143615 authored over 1 year ago by Krishean Draconis <[email protected]>
Add support for skipping tests

31f4e10d39a8dd3384c09ae6b27a0449e24ab62d authored over 1 year ago by Krishean Draconis <[email protected]>
Add dependencies.txt to MacOS CI

4c4fb9c907324e1628efbb81260f012b44f13540 authored over 1 year ago by Krishean Draconis <[email protected]>
Update tests.json with minversion attributes

64cf2178a6868490d6499041ce2aaef96a5a8446 authored over 1 year ago by Krishean Draconis <[email protected]>
trurl: reparse the URL after modifying it to make sure it is still valid

Also update expected result of test 94 since now trurl only outputs json
objects for valid URLs.

2684b66986dae8af0588a2546183c6d2c35db09d authored over 1 year ago by Emanuele Torre <[email protected]>
trurl: no url file/arguments implies --verify

And add a test to check that failing to construct an URL returns
non-zero.

c8e290df5feb670db3188811a1c341f638ccdbb7 authored over 1 year ago by Emanuele Torre <[email protected]>
trurl: factor urlfromstring() into a function

da375b85d1015b1afc5fdf1cd74d777dbe93e8bf authored over 1 year ago by Emanuele Torre <[email protected]>
CI: add codeql job

Closes #167

0f39d80ae2e4bc79392fa4e405ec9712fb234d49 authored over 1 year ago by Daniel Stenberg <[email protected]>
removed unnused paramater to setone()

8c6e610a9db5ab8dd75fa8819164756786d650dc authored over 1 year ago by Jacob Mealey <[email protected]>
test: print failed tests more nicely.

Instead of printing '{rawstring}' or '{stringifiedpythonobject}', print
the python representatio...

7d4e3821a93d6797c48c8d44bbab8b318f4f1765 authored over 1 year ago by Emanuele Torre <[email protected]>
Makefile: make test target depend on trurl

To avoid running tests without compiling first :D

e41b6cdd1ff21dbededd297820d23f6c7755aca7 authored over 1 year ago by Emanuele Torre <[email protected]>
trurl: make sure to terminate the JSON array when aborting with --verify

Also add a test

935e5369e12bd3cb60019d0f16f703aacf276705 authored over 1 year ago by Emanuele Torre <[email protected]>
trurl: json: print comma only after printing the first valid component

This fixes trurl --json outputting invalid JSON when not enough
components are provided with -...

16db1c8ca77be083598d3392d104af1410ab9753 authored over 1 year ago by Emanuele Torre <[email protected]>
added --with-valgrind to test.py which subsequently made test.py able to handle multiple arguments

Also added make test-memory to makefile and added it to the ci stuffs

added valgrind to matrix....

39b50342b490962432a46621df8b05f2cf62a820 authored over 1 year ago by Jacob Mealey <[email protected]>
test.py: remove unnecessary code for windows compatibility

a9de6db37efcc9e310d24effd3d117c52d7134ff authored over 1 year ago by Emanuele Torre <[email protected]>
test.py: don't crash if stdout is not valid JSON

b756dadd47c2ca29e98737cf32aa384db51a82f5 authored over 1 year ago by Emanuele Torre <[email protected]>
test.py+tests.json: do not strip stdout and stderr

This is unnecessarily complex in my opinion, and also slighly wrong.

For example, tests 64, and...

e4047e36bf96310aa8a6eb44340c6b7f33722a14 authored over 1 year ago by Emanuele Torre <[email protected]>
test.py+tests.json: store arguments in a list instead of a string

Python's subprocess.run() expects a list of arguments, and handles
cmd.exe quoting by itself.

I...

fa58fde5d96a40ccc01ab5479c050078e9f7f270 authored over 1 year ago by Emanuele Torre <[email protected]>
provide built-with libcurl version info for --version

Some features in trurl are limited by the build-time libcurl version
while some are restricted b...

ad792346b250b8f09627beba6a67803bb058476f authored over 1 year ago by Daniel Stenberg <[email protected]>
version: bump to 0.5

Should have been done *before* the release (tag) ...

90e0183fe55563012460f8ce46bf95364249b563 authored over 1 year ago by Daniel Stenberg <[email protected]>
test.pl: remove

Farewell test.pl, we hardly knew ye

test.py and tests.json take over from here

ed5646e5b864b149045c9a8ab1e5d5e548f547b8 authored over 1 year ago by Daniel Stenberg <[email protected]>
Add macOS CI

Resolves #153.

Signed-off-by: Ruoyu Zhong <[email protected]>

6e5a394baa5c499bf79f3d5723a924370bbfb83b authored over 1 year ago by Ruoyu Zhong <[email protected]>
Makefile: fix build with GNU Make 3.x

The `!=` operator is not supported by GNU Make 3.x, shipped by macOS.

Signed-off-by: Ruoyu Zhon...

017f91cd4e89a6df4fca32602680e785149ad9c2 authored over 1 year ago by Ruoyu Zhong <[email protected]>
trurl.1: remove version number of the .TH line

49601415f9fd59b146893c98e47cdd89ebfd070f authored over 1 year ago by Daniel Stenberg <[email protected]>
RELEASE-NOTES: 0.5 details

THANKS: added recent commit authors

b25f453fc7c54916582da281fe515bae6d34c5c3 authored over 1 year ago by Daniel Stenberg <[email protected]>
Makefile: use .PHONY, and allow using a different python3

Mark targets that do not generate a file with .PHONY.

Allow using a different PYTHON3 interpret...

e2950fb883eb9cfb4e90dcd5e6ff674e80c44089 authored over 1 year ago by Emanuele Torre <[email protected]>
bmake-compatible makefile

Needed for easier porting on OpenBSD

Closes #141

a7f9ca9c42c2cf29cc84becb38b56082898868d4 authored over 1 year ago by Nekobit <[email protected]>
--iterate

With docs and tests

Closes #147
Fixes #40
Fixes #117

8efcd74d3c5e42a717f51938267d8472faab78c3 authored over 1 year ago by Daniel Stenberg <[email protected]>
Makefile: switch to using test.py

Closes #145

58254ceeb2fc81bcb6bd5373a9c6038002e33e01 authored over 1 year ago by Daniel Stenberg <[email protected]>
handle %00 sequences in {query:key} output

Add test. Add docs.

Fixes #127

ede9911b85dc5199db484c2f1d7d80bb021fc0a9 authored over 1 year ago by Daniel Stenberg <[email protected]>
Tests: Activated stderr and fixed program exit code

6694470a99538726bc68622b7623f9a0278a1f5b authored over 1 year ago by Håvard Bønes <[email protected]>
codespell

6279e3d5b680060f86146e44db2485d200282b91 authored over 1 year ago by Michael Ablassmeier <[email protected]>
fix mandoc warning

d9109208a8eed2f3d28ea748174dcce8e2369e0d authored over 1 year ago by Michael Ablassmeier <[email protected]>
--get {query-all:key} outputs all values for 'key' in the query

Includes docs and test.

Fixes #128
Closes #139

e2046190df6c921651a1ccbdef27ba98140a8018 authored over 1 year ago by Daniel Stenberg <[email protected]>
Added test script written in python

77f260847fd6841fa81e73d47f134e62385609fd authored over 1 year ago by Håvard Bønes <[email protected]>
support reading URL from a file without a newline

... also trim off trailing whitespace from URLs provided from a file

Reported-by: @andylima
Fix...

aa62bb1fc5e4709722e31c275a872440f496b11b authored over 1 year ago by Daniel Stenberg <[email protected]>
spelling fix in manpage

4ed7a084c93efee785f6d49f8db27c13986509fc authored over 1 year ago by Michael Ablassmeier <[email protected]>
test.pl: test brackes and backslashes

3dd6731dd13a5fc67fd06452b469e8aaa69983dd authored over 1 year ago by Daniel Stenberg <[email protected]>
additionally support --get variables within [brackets]

And extend the man page explanation for the format string.

Co-authored-by: emanuele6 <torreeman...

d2f461a56491e953ce806e10e3b4205841bf93f2 authored over 1 year ago by Daniel Stenberg <[email protected]>
CI: enable the clang address sanitizer

Closes #126

6ca14af67160c3dc666f77ea131018f654eae0b4 authored over 1 year ago by Dan Fandrich <[email protected]>
Free memory in JSON output

0970eeb79113f336007a34291bb6166efee2b19e authored over 1 year ago by Dan Fandrich <[email protected]>
URL-QUIRKS.md: libcurl quirks that may show

Fixed-by: emanuele6 <[email protected]>

Closes #124

1ed964a83b3f3447092db26eb9423da7e20546be authored over 1 year ago by Daniel Stenberg <[email protected]>
THANKS: add more contributors

919829332085590c0d4bed3222ea8551b2a1b3fc authored over 1 year ago by Daniel Stenberg <[email protected]>
0.4: release time

a3a360ad60a7bd0a4eec68ef14bc3dd6aa885fef authored over 1 year ago by Daniel Stenberg <[email protected]>
checksrc: check code style in CI job and with 'make checksrc'

The checksrc script is imported from the curl source repo (updated last
as 2bc1d775f51)

The "bu...

a995eee9eed881d71c6b6b7f393384d0127e9bbc authored over 1 year ago by Daniel Stenberg <[email protected]>
Properly free memory from libcurl functions

These pointers must be freed with curl_free, not free. Also, free some
memory that leaked otherw...

c0b1ba67779ed62e754b4d4f959a3fcc4ef26dbe authored over 1 year ago by Dan Fandrich <[email protected]>
mixing --json with --get is an error

Closes #122

73d44a42a99c57a2a03c02316d62bcd04ae67173 authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl.1: use the official URL now

91995fe2194c82945dd37e5dd4aae05b447886aa authored over 1 year ago by Daniel Stenberg <[email protected]>
components names are lower case and case sensitive

Updated the man page to clarify as well.

Reported-by: Gustavo Costa
Fixes #118
Closes #119

e9ee73ae57a22738a6601d91ec6273650ce7985d authored over 1 year ago by Daniel Stenberg <[email protected]>
CI: Add a clang UBSAN build

The code doesn't currently pass the address or memory sanitizers so
those are not enabled, but t...

0fb00758a6265442aaf06469e63f3131e93cac71 authored over 1 year ago by Dan Fandrich <[email protected]>
trurl: show error messsage when component setting fails

2377fd87a234cf9088c15b72270834da565a887a authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl.: add missing .fi

b36ae779213134441640d81380e95d159e70f971 authored over 1 year ago by Daniel Stenberg <[email protected]>
README: add install instructions for cygwin

bb338f82cf58767cd1926cf31676c11e45129e70 authored over 1 year ago by Håvard Bønes <[email protected]>
CI: add job to verify build on cygwin

Closes #113

bb8a3ef031020b685cb0bc4b9866a08dbbd06916 authored over 1 year ago by Håvard Bønes <[email protected]>
README: mention older libcurl use

c7690fc2c3b5a94baeb92f04d6505d5fb1509b48 authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl.1: add more examples

27324ef11b1bc7b88119e78a429e1be09f957c7b authored over 1 year ago by Daniel Stenberg <[email protected]>
add --query-separator

Lets trurl work on queries that use something else than "&" as pair
separator.

Added docs. Adde...

dfe702eb999a178c23afecaba57baa7e8ac7ce00 authored over 1 year ago by Daniel Stenberg <[email protected]>
add support for building with older libcurl versions

This still fails some tests due to missing functionality in the older
versions.

2a3e4651fd3d65c92ea2a140023f877254da7c1d authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl.1: improved wording

5edc433d003bbfa92b1eb3c02c13c4a768eb2754 authored over 1 year ago by Daniel Stenberg <[email protected]>
build: compile with msvc again

Fixes #107

2667efd670119216fda32307f50dfc94b468d295 authored over 1 year ago by Krishean Draconis <[email protected]>
feat: add some tests

6b83203a117d34a6ec46cf66c808936cbbe866dd authored over 1 year ago by Sajad F. Maghrebi <[email protected]>
trurl: fix the json output of UTF-8 sequences

Including for IDN names including emojis in names.

Example: trurl --json 'https://😃.com/x?emoji...

90fbf788f2388ecc9209b5650384bd0fb499fe64 authored over 1 year ago by Daniel Stenberg <[email protected]>
test.pl: add more tests

745050ba067dc18439d9fad973c6b9a63f50ffb3 authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl: support "--" end-of-options argument

6d47c1c2eda228473350998304feb2a3f4f8d847 authored over 1 year ago by Emanuele Torre <[email protected]>
add --sort-query

Sorts the query pairs in a case insensitive alphabetical order

Added a test. Added to the man p...

b0e4b3c138407fccd3f87b83afcc34a677e7c1a4 authored over 1 year ago by Daniel Stenberg <[email protected]>
support showing {query:key}

Added tests. Added text in man page.

Fixes #99

feb5de4ea1d181860181ceabd75a7a1ac0782046 authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl: flush stdout after handling every URL

Fixes #92
Closes #99

1353154ecaa2531dedda767dcdbe9be4067e7c69 authored over 1 year ago by Emanuele Torre <[email protected]>
make --json output query pairs under "params"

Fixes #90
Closes #100

78e1954b4bbf67694de9d69283c4620e2ad326cf authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl.1: mention the "hierarchical" URL limitation

fbb8ed490b6c212d3e0953a0bcdd06f95fc5562b authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl: convert the query string to an array of query pairs

... then operate on the array for the URL before the array is converting
back into a string and ...

9a7cc371f6cb604037fe39e12a831a5d2fa7252e authored over 1 year ago by Daniel Stenberg <[email protected]>
add -a as a short option for --append

da7c03c6e0aec655053954665c93d44b967c07e2 authored over 1 year ago by Daniel Stenberg <[email protected]>
Fix allignment of --json and --verify in --help output

02d7a93f43d298edcbbe908009ddff95ca31d318 authored over 1 year ago by Emanuele Torre <[email protected]>
trurl: abort on a bad URL

Slight change of behavior: if a URL is provided that cannot be parsed,
it will now abort the ope...

21253394fa9ecc68d9b838ff03a27e5eda63f9ae authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl: help output polish

addf70788ef899f9aa007b72219b82f601559b1f authored over 1 year ago by Daniel Stenberg <[email protected]>
test: added a more complete json example

0a5844b996b69ad0c18a7f72463e6fdbff89afed authored over 1 year ago by Daniel Stenberg <[email protected]>
test: add tests for hiding default port

c4e67f17d8cf3950b9c33d2ac2469c3536f26ed7 authored over 1 year ago by Daniel Stenberg <[email protected]>
THANKS: keep track of contributors

012cb244bf5394ab28ed3247d46a3cfd5c81dc94 authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl 0.3 release

f30f4e5c9276715f049f049401e536a0a8e0bfa0 authored over 1 year ago by Daniel Stenberg <[email protected]>
remove vestigial comment

d6d8c5d33a171ac09c1b30ff1e76410e2d230d4f authored over 1 year ago by Paul Roub <[email protected]>
trim() - handle cases where some query params have no value

3e8ce1d9913b5a55a7365681c4c71046733ff4e5 authored over 1 year ago by Paul Roub <[email protected]>
Add tests for cases where trim() hangs

edc61384d5eccd05621c294ba589424c819a6437 authored over 1 year ago by Paul Roub <[email protected]>
Nicer JSON tests and test output

Given a minimum 12-year-old Perl version, that is.

08d05a4f592e49de48b13997cb6ef07da1d599cb authored over 1 year ago by Paul Roub <[email protected]>
trurl: the set port is the same as the scheme-default, don't show

Added two test cases

Fixes #79
Closes #83

e418d7c3828e8bda672e2b13d8086bc9f67584f0 authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl: setting port to a blank should clear it

Add test to verify

Fixes #75

6b011847b3f321ee5cf926a24f70232be9badd78 authored over 1 year ago by Daniel Stenberg <[email protected]>
README: link the video instead of the original idea

493e8bfece615e4e8bbe7258f09fa84e7aaf5743 authored over 1 year ago by Daniel Stenberg <[email protected]>
tests: add more options and combinations

bf3efc5770f30d0806c84d6574df7408f61536e1 authored over 1 year ago by Daniel Stenberg <[email protected]>
trurl.1: mention how numerical IP addresses are shown

ac9570ccca830923538024371e1072fd476ecad6 authored over 1 year ago by Daniel Stenberg <[email protected]>
add --accept-space

Added test case, added docs.

Fixes #38
Closes #63

086da4a26f2e329999c8fa5690825a798b9525b8 authored over 1 year ago by Daniel Stenberg <[email protected]>
Enable test-json.pl to run on windows

7dce806ae0c62e35a46354fb25edc9b13418e757 authored over 1 year ago by Krishean Draconis <[email protected]>
Enable test.pl to run on windows

021e08d8be9495495a8d7e650230d293da583b30 authored over 1 year ago by Krishean Draconis <[email protected]>
Enable building with msvc

strncasecmp is not available in msvc, add a define to map it to _strnicmp

cac264fce9455a16a27495314310aaed7f6ed28d authored over 1 year ago by Krishean Draconis <[email protected]>
Use Test::More inside of test.pl

This shouldn't require any dependency management, since Test::More has
been provided with Perl s...

c18a95f8a83ff4f2b7faec1140eef8a4c61b0c43 authored over 1 year ago by Olaf Alders <[email protected]>
Add an INSTALL variable to the Makefile

4e34f8269d42c1c15c648a51c7355fd6da7169fd authored over 1 year ago by Gustavo Costa <[email protected]>
trurl.1: better nroff syntax

304f1ac79cd968ae910594710cc50e3473d6b767 authored over 1 year ago by Daniel Stenberg <[email protected]>
README: explain the prerequisites

cc0cfd8356e4b9f32b53942487c9f4d89ad1c2a5 authored over 1 year ago by Daniel Stenberg <[email protected]>