[asterisk-dev] [Code Review] 3691: HTTP: Add persistent connection support.

rmudgett reviewboard at asterisk.org
Thu Jul 3 11:16:19 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3691/
-----------------------------------------------------------

(Updated July 3, 2014, 11:16 a.m.)


Status
------

This change has been marked as submitted.


Review request for Asterisk Developers.


Changes
-------

Committed in revision 417880


Bugs: ASTERISK-23552
    https://issues.asterisk.org/jira/browse/ASTERISK-23552


Repository: Asterisk


Description
-------

Persistent HTTP connection support is needed due to the increased usage of
the Asterisk core HTTP transport and the frequency at which REST API calls
are going to be issued.

* Add http.conf session_keep_alive option to enable persistent
connections.

* Parse and discard optional chunked body extension information and
trailing request headers.

* Increased the maximum application/json and
application/x-www-form-urlencoded body size allowed to 4k.  The previous
1k was kind of small.

* Removed a couple inlined versions of ast_http_manid_from_vars() by
calling the function.  manager.c:generic_http_callback() and
res_http_post.c:http_post_callback()

* Add missing va_end() in ast_ari_response_error().

* Eliminated unnecessary RAII_VAR() use in http.c:auth_create().


Diffs
-----

  /branches/12/res/res_phoneprov.c 417743 
  /branches/12/res/res_http_websocket.c 417743 
  /branches/12/res/res_http_post.c 417743 
  /branches/12/res/res_ari.c 417743 
  /branches/12/main/tcptls.c 417743 
  /branches/12/main/manager.c 417743 
  /branches/12/main/http.c 417743 
  /branches/12/include/asterisk/tcptls.h 417743 
  /branches/12/include/asterisk/http.h 417743 
  /branches/12/configs/http.conf.sample 417743 
  /branches/12/UPGRADE.txt 417743 

Diff: https://reviewboard.asterisk.org/r/3691/diff/


Testing
-------

Added debug messages showing when HTTP connections were opened and closed.
Performed the following operations:
http://127.0.0.1:8088/static/ajamdemo.html
https://127.0.0.1:8088/static/ajamdemo.html
http://127.0.0.1:8088/static/mantest.html
https://127.0.0.1:8088/static/mantest.html

Had sgalarneau perform ARI queries and actions with node.js.

The opened HTTP connections remained open and processed repeated requests until they idle timed out.

Performed the following get:
GET /httpstatus HTTP/1.1
Connection: close

Observed that the connection closed as requested when completed.


Thanks,

rmudgett

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140703/ab3210f2/attachment.html>


More information about the asterisk-dev mailing list