Skip to content

Query parameter values are not URL-encoded #58

Description

@SeanTAllen

Query parameter values passed to API endpoints are appended to URLs as-is, without URL encoding. This can produce malformed URLs when values contain characters that need encoding.

The most likely place to hit this is `GetRepositoryIssues` with label filtering, since label names commonly contain spaces and special characters (e.g., "discuss during sync", "C++", "won't fix").

For example, `GetRepositoryIssues("ponylang", "ponyc", creds, where labels = "discuss during sync")` would produce:

```
https://api.github.com/repos/ponylang/ponyc/issues?state=open&labels=discuss during sync
```

instead of:

```
https://api.github.com/repos/ponylang/ponyc/issues?state=open&labels=discuss+during+sync
```

This affects all current and future endpoints that accept query parameters. A URL-encoding utility would need to be added to the request infrastructure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions