Skip to content

The agent() set default behavior is nonsensical #1783

@Louis-Tian

Description

@Louis-Tian

No mean to offend, but I find that agent's default setting behavior to be nonsensical.

I want the agent to manage the cookie for me. But I still need to send query with different query parameters in the requests.
Thinking this is a pretty common and reasonable use case. After all that's what happens if you make http request from a browser.

If I am not mistaken, the current api virtually prohibits you from doing that.
For example

const agent = superagent.agent()
await agent.get('/xyz').query({ id: 1 })
await agent.get('/xyz')                          // with ?id=1 
await agent.get('/xyz').query({id: undefined })  // without ?id=1
await agent.get('/xyz')                          // with ?id=1 again

The current api means the first query parameter you send automatically becomes the default for all of the subsequent requests and without any way of removing that default.

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