diff options
author | Kevin Sawicki | 2011-10-30 15:58:51 +0000 |
---|---|---|
committer | Kevin Sawicki | 2011-10-30 15:58:51 +0000 |
commit | 15ad8dbca08fb81417a253d7feb9d67b1759d83f (patch) | |
tree | 3efcd43beb5284846083f4917eba3fd50ea92b1d | |
parent | 8ea2329a7543a601c58dedbd4ddc62b291a71579 (diff) | |
download | egit-github-15ad8dbca08fb81417a253d7feb9d67b1759d83f.tar.gz egit-github-15ad8dbca08fb81417a253d7feb9d67b1759d83f.tar.xz egit-github-15ad8dbca08fb81417a253d7feb9d67b1759d83f.zip |
Escape '.' characters in search query to '%2E'
Change-Id: I2fc31f370a2c87fbadbc5523473b855e29d53ad5
Signed-off-by: Kevin Sawicki <kevin@github.com>
2 files changed, 15 insertions, 1 deletions
diff --git a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java index 405424cf..46cab454 100644 --- a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java +++ b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java @@ -363,6 +363,19 @@ public class RepositoryServiceTest { } /** + * Search repositories with query that needs escaping + * + * @throws IOException + */ + @Test + public void searchEscaped() throws IOException { + service.searchRepositories("a and a."); + GitHubRequest request = new GitHubRequest(); + request.setUri(Utils.page("/api/v2/json/repos/search/a%20and%20a%2E")); + verify(client).get(request); + } + + /** * Get languages in repository * * @throws IOException diff --git a/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/RepositoryService.java b/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/RepositoryService.java index 8c7d64bc..e35cf5f2 100644 --- a/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/RepositoryService.java +++ b/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/service/RepositoryService.java @@ -484,7 +484,8 @@ public class RepositoryService extends GitHubService { uri.append(SEGMENT_REPOS); uri.append(SEGMENT_SEARCH); final String encodedQuery = URLEncoder.encode(query, CHARSET_UTF8) - .replace("+", "%20"); + .replace("+", "%20") //$NON-NLS-1$ //$NON-NLS-2$ + .replace(".", "%2E"); //$NON-NLS-1$ //$NON-NLS-2$ uri.append('/').append(encodedQuery); PagedRequest<SearchRepository> request = createPagedRequest(); |