{"id":43786053,"url":"https://github.com/coditory/quark-uri","last_synced_at":"2026-02-05T19:03:59.831Z","repository":{"id":65507542,"uuid":"588746085","full_name":"coditory/quark-uri","owner":"coditory","description":"URI manipulation library for Java","archived":false,"fork":false,"pushed_at":"2026-01-19T19:34:06.000Z","size":269,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-20T01:20:17.388Z","etag":null,"topics":["coditory-quark","java-uri"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coditory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["coditory"]}},"created_at":"2023-01-13T22:16:38.000Z","updated_at":"2026-01-19T19:34:10.000Z","dependencies_parsed_at":"2023-12-25T20:14:36.533Z","dependency_job_id":"1487fda1-cc4e-4a10-83a6-68e6dcaf0696","html_url":"https://github.com/coditory/quark-uri","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/coditory/quark-uri","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coditory%2Fquark-uri","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coditory%2Fquark-uri/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coditory%2Fquark-uri/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coditory%2Fquark-uri/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coditory","download_url":"https://codeload.github.com/coditory/quark-uri/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coditory%2Fquark-uri/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29130113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T18:55:47.139Z","status":"ssl_error","status_checked_at":"2026-02-05T18:55:04.010Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coditory-quark","java-uri"],"created_at":"2026-02-05T19:03:59.711Z","updated_at":"2026-02-05T19:03:59.820Z","avatar_url":"https://github.com/coditory.png","language":"Java","readme":"# Quark URI\n[![Build](https://github.com/coditory/quark-uri/actions/workflows/build.yml/badge.svg)](https://github.com/coditory/quark-uri/actions/workflows/build.yml)\n[![Coverage](https://codecov.io/github/coditory/quark-uri/branch/master/graph/badge.svg?token=L6IOC9EBGO)](https://codecov.io/github/coditory/quark-uri)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.coditory.quark/quark-uri/badge.svg)](https://mvnrepository.com/artifact/com.coditory.quark/quark-uri)\n\n**🚧 This library as under heavy development until release of version `1.x.x` 🚧**\n\n\u003e Just a URI manipulation library for Java. Provides URI builder and parser.\n\n- lightweight, exactly 1 minimalistic dependency\n- single purpose, not part of a framework\n- does percent encoding and decoding\n- adds option to encode/decode `+` character as a space\n\n## Installation\n\nAdd to your `build.gradle`:\n\n```gradle\ndependencies {\n    implementation \"com.coditory.quark:quark-uri:0.0.11\"\n}\n```\n\n## Basic usage\n\nBuild uri string\n```java\nUriBuilder.fromUri(\"https://coditory.com?w=W\u0026a=A\")\n    .addPathSegment(\"about\")\n    .addQueryParam(\"a\", \"X\")\n    .addQueryParam(\"a\", \"X\")\n    .addQueryParam(\"a\", \"Y\")\n    .addQueryParam(\"b\", \"Y\")\n    .addQueryParam(\"e\", \"\")\n    .buildUriString();\n\n// Result:\n// https://coditory.com/about?w=W\u0026a=A\u0026a=X\u0026a=X\u0026a=Y\u0026b=Y\u0026e=\n```\n\nBuild uri components\n```java\n// uriComponents is a value object, that provides access to all parts of parsed uri\nUriComponents uriComponents = UriBuilder.fromUri(\"https://coditory.com?w=W\u0026a=A\")\n    .addPathSegment(\"about\")\n    .addQueryParam(\"a\", \"X\")\n    .addQueryParam(\"a\", \"X\")\n    .addQueryParam(\"a\", \"Y\")\n    .addQueryParam(\"b\", \"Y\")\n    .addQueryParam(\"e\", \"\")\n    .buildUriComponents();\n\n// Result:\n// UriComponents{scheme=\"https\", host=\"coditory.com\", pathSegments=[about], queryParams={w=[W], a=[A, X, X, Y], b=[Y], e=[]}}\n```\n\nParses encoded spaces and pluses:\n```java\nUriComponents plusesAsSpaces = UriBuilder.fromUri(\"/abc?a+b=A+B\").buildUriComponents();\nUriComponents encodedSpaces = UriBuilder.fromUri(\"/abc?a%20b=A%20B\").buildUriComponents();\nassert plusesAsSpaces == encodedSpaces\n\n// Result:\n// UriComponents{rootPath=true, pathSegments=[abc], queryParams={a b=[A B]}}\n```\n\nBy default encodes spaces as `%20`\n```java\nUriBuilder.fromUri(\"https://coditory.com/a+bc/d%20ef/\")\n    .addPathSegment(\"x y \")\n    .setFragment(\"frag ment\")\n    .addQueryParam(\"f oo\", \"b ar\")\n    .addQueryParam(\"x\", \"y+z\")\n    .buildUriString();\n\n// Result:\n// https://coditory.com/a+bc/d%20ef/x%20y%20?f%20oo=b%20ar\u0026x=y%2Bz#frag%20ment\n```","funding_links":["https://github.com/sponsors/coditory"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoditory%2Fquark-uri","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoditory%2Fquark-uri","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoditory%2Fquark-uri/lists"}