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

doc: revise http documentation #8486

Closed
wants to merge 2 commits into from
Closed

doc: revise http documentation #8486

wants to merge 2 commits into from

Conversation

TimothyGu
Copy link
Member

Checklist
  • documentation is changed or added
  • commit message follows commit guidelines
Affected core subsystem(s)

doc

Description of change

The current documentation for the http module still follows an older format. Type documentation for parameters were also incomplete. This pull request at least fills up the type information for parameters and returns, so that the parsed JSON is usable.

@mscdex mscdex added http Issues or PRs related to the http subsystem. doc Issues and PRs related to the documentations. labels Sep 11, 2016
@jasnell
Copy link
Member

jasnell commented Sep 12, 2016

@nodejs/documentation

* `options` {Object} Options containing connection details. Check
[`net.createConnection()`][] for the format of the options
* `callback` {Function} Callback function that receives the created socket
* Returns: {net.Socket}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strictly speaking, async functions return nothing. Isn't that the case here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation states:

A socket/stream can be supplied in one of two ways: by returning the socket/stream from this function, or by passing the socket/stream to callback.

So it's not a "true" async or sync function. Indeed, the code explicitly supports both sync and async usage:

  const newSocket = self.createConnection(options, oncreate);
  if (newSocket)
    oncreate(null, newSocket);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, in that case, can we atleast specify that the callback is optional?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is, as shown in the function signature:

### agent.createConnection(options[, callback])

Copy link
Member

@imyller imyller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@addaleax addaleax left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for putting in the effort to do this!

* `timeout` {Number} Milliseconds before a request is considered to be timed out.
* `callback` {Function} Optional function to be called when a timeout occurs. Same as binding to the `timeout` event.

Once a socket is assigned to this request and is connected
Copy link
Member

@lpinca lpinca Sep 25, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not 100% true, I stumbled upon this the other day. There are cases where socket.setTimeout() is called even if the socket is not connected.
Anyway it's probably better to investigate/fix this in another issue/PR.

Emitted when the server closes.

### Event: 'connect'
<!-- YAML
added: v0.7.0
-->

`function (request, socket, head) { }`
* `request` {http.IncomingMessage} Arguments for the HTTP request, as it is in
the [`request`][] event
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be 'request'.

Copy link
Member

@lpinca lpinca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lpinca
Copy link
Member

lpinca commented Sep 25, 2016

I really appreciate the effort that has been put here, thanks.

@ChALkeR
Copy link
Member

ChALkeR commented Sep 25, 2016

http.md
  1585:1-1585:38  warning  Found unused definition  no-unused-definitions  remark-lint

⚠ 1 warning

This definition became unused:

[`Buffer`]: buffer.html#buffer_buffer

@jasnell
Copy link
Member

jasnell commented Oct 7, 2016

Ping @TimothyGu ... can you take a look at @ChALkeR's most recent comment.

It is emitted by the Server, analogous to the `'checkContinue'` event,
not by the ClientRequest.
@TimothyGu
Copy link
Member Author

@jasnell, fixed.

@TimothyGu
Copy link
Member Author

Ping?

@jasnell
Copy link
Member

jasnell commented Oct 11, 2016

@ChALkeR ... LGTY?

Copy link
Member

@ChALkeR ChALkeR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jasnell jasnell self-assigned this Oct 11, 2016
@jasnell
Copy link
Member

jasnell commented Oct 11, 2016

LGTM

jasnell pushed a commit that referenced this pull request Oct 11, 2016
PR-URL: #8486
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@jasnell
Copy link
Member

jasnell commented Oct 11, 2016

Landed in 52c7f9d

@jasnell jasnell closed this Oct 11, 2016
@TimothyGu TimothyGu deleted the http-params branch October 12, 2016 00:39
jasnell pushed a commit that referenced this pull request Oct 12, 2016
PR-URL: #8486
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
MylesBorins pushed a commit that referenced this pull request Nov 11, 2016
PR-URL: #8486
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
@MylesBorins
Copy link
Contributor

I've landed this in v6.x-staging. Please let me know if there is anything in here that is specific to v7 and should not be included

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Issues and PRs related to the documentations. http Issues or PRs related to the http subsystem.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants