Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: simplify http client #35

Merged
merged 1 commit into from
Apr 9, 2020
Merged

fix: simplify http client #35

merged 1 commit into from
Apr 9, 2020

Commits on Apr 9, 2020

  1. fix: simplify http client

    The conventions in the Fetch API is that you make a request, then do something
    with the response:
    
    ```javascript
    const response = await fetch('...')
    const data = await response.json()
    ```
    
    It doesn't do things like:
    
    ```javascript
    const data = await fetch.json('...') // what method would this use?
    ```
    
    This PR brings our API more inline with Fetch so where we used to do:
    
    ```javascript
    for await (const datum of http.ndjson('...')) { // what method does this use?
    
    }
    ```
    
    We now do the more idiomatic:
    
    ```javascript
    const response = await http.post('...')
    
    for await (const datum of response.ndjson()) {
    
    }
    ```
    
    It also removes the `.iterator` and `.stream` methods as they do not
    follow the Fetch pattern either though they can be added to the response
    object if they are useful.
    
    BREAKING CHANGE:
    
    - The `.ndjson`, `.stream` and `.iterator` methods have been removed
    - An `.ndjson` async generator function has been added to the response which
      does the same thing the `.ndjson` instance method used to
    
    Old:
    
    ```javascript
    for await (const datum of http.ndjson('http://...')) {
    
    }
    ```
    
    New:
    
    ```javascript
    const response = await http.post('http://...')
    
    for await (const datum of response.ndjson()) {
    
    }
    ```
    achingbrain committed Apr 9, 2020
    Configuration menu
    Copy the full SHA
    7fcc869 View commit details
    Browse the repository at this point in the history