Permalink
Browse files

inspector: split HTTP/WS server from the inspector

Both our team experiments and some embedder request indicate a potential
in implementing alternative transport for inspector - e.g. IPC pipes or
custom embedder APIs. This change moves all HTTP specific code into a
separate class and is a first attempt at defining a boundary between the
inspector agent and transport. This API will be refined as new
transports are implemented.
Note that even without considering alternative transports, this change
enables better testing of the HTTP server (Valgrind made it possible to
identify and fix some existing memory leaks).

PR-URL: #9630
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
  • Loading branch information...
1 parent abde764 commit 023956187e124172707761a238201ea2dc8c6b9b @eugeneo eugeneo committed with evanlucas Nov 9, 2016
Showing with 1,212 additions and 301 deletions.
  1. +18 −3 node.gyp
  2. +127 −297 src/inspector_agent.cc
  3. +2 −1 src/inspector_agent.h
  4. +471 −0 src/inspector_socket_server.cc
  5. +77 −0 src/inspector_socket_server.h
  6. +517 −0 test/cctest/test_inspector_socket_server.cc
View
@@ -318,8 +318,10 @@
'sources': [
'src/inspector_agent.cc',
'src/inspector_socket.cc',
- 'src/inspector_socket.h',
+ 'src/inspector_socket_server.cc',
'src/inspector_agent.h',
+ 'src/inspector_socket.h',
+ 'src/inspector_socket_server.h',
],
'dependencies': [
'deps/v8_inspector/src/inspector/inspector.gyp:standalone_inspector',
@@ -868,7 +870,8 @@
'dependencies': [ 'deps/gtest/gtest.gyp:gtest' ],
'include_dirs': [
'src',
- 'deps/v8/include'
+ 'deps/v8/include',
+ '<(SHARED_INTERMEDIATE_DIR)'
],
'defines': [
# gtest's ASSERT macros conflict with our own.
@@ -886,9 +889,21 @@
'conditions': [
['v8_inspector=="true"', {
+ 'defines': [
+ 'HAVE_INSPECTOR=1',
+ ],
+ 'dependencies': [
+ 'deps/zlib/zlib.gyp:zlib',
+ 'v8_inspector_compress_protocol_json#host'
+ ],
+ 'include_dirs': [
+ '<(SHARED_INTERMEDIATE_DIR)'
+ ],
'sources': [
'src/inspector_socket.cc',
- 'test/cctest/test_inspector_socket.cc'
+ 'src/inspector_socket_server.cc',
+ 'test/cctest/test_inspector_socket.cc',
+ 'test/cctest/test_inspector_socket_server.cc'
],
'conditions': [
[ 'node_shared_openssl=="false"', {
Oops, something went wrong.

0 comments on commit 0239561

Please sign in to comment.