diff options
Diffstat (limited to 'node_modules/tunnel')
-rw-r--r-- | node_modules/tunnel/.idea/encodings.xml | 6 | ||||
-rw-r--r-- | node_modules/tunnel/.idea/modules.xml | 8 | ||||
-rw-r--r-- | node_modules/tunnel/.idea/node-tunnel.iml | 12 | ||||
-rw-r--r-- | node_modules/tunnel/.idea/vcs.xml | 6 | ||||
-rw-r--r-- | node_modules/tunnel/.idea/workspace.xml | 797 | ||||
-rw-r--r-- | node_modules/tunnel/.travis.yml | 6 | ||||
-rw-r--r-- | node_modules/tunnel/CHANGELOG.md | 22 | ||||
-rw-r--r-- | node_modules/tunnel/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/tunnel/README.md | 185 | ||||
-rw-r--r-- | node_modules/tunnel/index.js | 1 | ||||
-rw-r--r-- | node_modules/tunnel/lib/tunnel.js | 264 | ||||
-rw-r--r-- | node_modules/tunnel/package.json | 34 |
12 files changed, 1362 insertions, 0 deletions
diff --git a/node_modules/tunnel/.idea/encodings.xml b/node_modules/tunnel/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/node_modules/tunnel/.idea/encodings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding"> + <file url="PROJECT" charset="UTF-8" /> + </component> +</project>
\ No newline at end of file diff --git a/node_modules/tunnel/.idea/modules.xml b/node_modules/tunnel/.idea/modules.xml new file mode 100644 index 0000000..27bf888 --- /dev/null +++ b/node_modules/tunnel/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/.idea/node-tunnel.iml" filepath="$PROJECT_DIR$/.idea/node-tunnel.iml" /> + </modules> + </component> +</project>
\ No newline at end of file diff --git a/node_modules/tunnel/.idea/node-tunnel.iml b/node_modules/tunnel/.idea/node-tunnel.iml new file mode 100644 index 0000000..24643cc --- /dev/null +++ b/node_modules/tunnel/.idea/node-tunnel.iml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="WEB_MODULE" version="4"> + <component name="NewModuleRootManager"> + <content url="file://$MODULE_DIR$"> + <excludeFolder url="file://$MODULE_DIR$/.tmp" /> + <excludeFolder url="file://$MODULE_DIR$/temp" /> + <excludeFolder url="file://$MODULE_DIR$/tmp" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module>
\ No newline at end of file diff --git a/node_modules/tunnel/.idea/vcs.xml b/node_modules/tunnel/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/node_modules/tunnel/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project>
\ No newline at end of file diff --git a/node_modules/tunnel/.idea/workspace.xml b/node_modules/tunnel/.idea/workspace.xml new file mode 100644 index 0000000..1a318c8 --- /dev/null +++ b/node_modules/tunnel/.idea/workspace.xml @@ -0,0 +1,797 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ChangeListManager"> + <list default="true" id="3caed8aa-31ae-4b3d-ad18-6f9796663516" name="Default" comment=""> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.travis.yml" afterPath="$PROJECT_DIR$/.travis.yml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/CHANGELOG.md" afterPath="$PROJECT_DIR$/CHANGELOG.md" /> + </list> + <ignored path="$PROJECT_DIR$/.tmp/" /> + <ignored path="$PROJECT_DIR$/temp/" /> + <ignored path="$PROJECT_DIR$/tmp/" /> + <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> + <option name="TRACKING_ENABLED" value="true" /> + <option name="SHOW_DIALOG" value="false" /> + <option name="HIGHLIGHT_CONFLICTS" value="true" /> + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> + <option name="LAST_RESOLUTION" value="IGNORE" /> + </component> + <component name="FileEditorManager"> + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> + <file leaf-file-name="package.json" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/package.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="34"> + <caret line="2" column="19" lean-forward="false" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="README.md" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/README.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="2312"> + <caret line="136" column="67" lean-forward="false" selection-start-line="136" selection-start-column="67" selection-end-line="136" selection-end-column="67" /> + <folding> + <marker date="1497272379133" expanded="true" signature="590:646" ph="{...}" /> + <marker date="1497272379133" expanded="true" signature="601:644" ph="{"host": 'localhost'...}" /> + <marker date="1497272379133" expanded="true" signature="674:737" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="884:1330" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="964:1328" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1103:1192" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1290:1324" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="1357:1419" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="1514:2209" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="1540:1623" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1842:2207" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1981:2070" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2168:2202" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="2237:2300" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="2395:3180" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="2475:3178" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="2615:2704" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2802:2836" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="3207:3269" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="3366:4398" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="3392:3475" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="3694:4396" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="3834:3923" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="4021:4055" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="4426:4489" ph="{"host": 'example.com'...}" /> + </folding> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name=".travis.yml" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/.travis.yml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="102"> + <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="tunnel.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/lib/tunnel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="697"> + <caret line="41" column="19" lean-forward="false" selection-start-line="41" selection-start-column="19" selection-end-line="41" selection-end-column="19" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="http-over-http-error.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/test/http-over-http-error.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="935"> + <caret line="55" column="26" lean-forward="true" selection-start-line="55" selection-start-column="26" selection-end-line="55" selection-end-column="26" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="http-over-http-error2.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/test/http-over-http-error2.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1207"> + <caret line="71" column="0" lean-forward="false" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="https-over-http.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/test/https-over-http.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1479"> + <caret line="87" column="0" lean-forward="false" selection-start-line="87" selection-start-column="0" selection-end-line="87" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="https-over-https.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/test/https-over-https.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="http-over-http.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/test/http-over-http.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1088"> + <caret line="64" column="26" lean-forward="true" selection-start-line="64" selection-start-column="26" selection-end-line="64" selection-end-column="26" /> + <folding /> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="CHANGELOG.md" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/CHANGELOG.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="102"> + <caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> + <folding /> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + </file> + </leaf> + </component> + <component name="FileTemplateManagerImpl"> + <option name="RECENT_TEMPLATES"> + <list> + <option value="JavaScript File" /> + </list> + </option> + </component> + <component name="FindInProjectRecents"> + <findStrings> + <find>max</find> + <find>onconne</find> + </findStrings> + </component> + <component name="Git.Settings"> + <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> + </component> + <component name="IdeDocumentHistory"> + <option name="CHANGED_PATHS"> + <list> + <option value="$PROJECT_DIR$/test/http-over-http-error.js" /> + <option value="$PROJECT_DIR$/README.md" /> + <option value="$PROJECT_DIR$/package.json" /> + <option value="$PROJECT_DIR$/test/http-over-http-error2.js" /> + <option value="$PROJECT_DIR$/test/https-over-http-localaddress.js" /> + <option value="$PROJECT_DIR$/test/https-over-http.js" /> + <option value="$PROJECT_DIR$/lib/tunnel.js" /> + <option value="$PROJECT_DIR$/CHANGELOG.md" /> + <option value="$PROJECT_DIR$/.travis.yml" /> + </list> + </option> + </component> + <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" /> + <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER"> + <package-json value="$PROJECT_DIR$/package.json" /> + </component> + <component name="JsFlowSettings"> + <service-enabled>false</service-enabled> + <exe-path /> + <annotation-enable>false</annotation-enable> + <other-services-enabled>false</other-services-enabled> + <auto-save>true</auto-save> + </component> + <component name="JsGulpfileManager"> + <detection-done>true</detection-done> + <sorting>DEFINITION_ORDER</sorting> + </component> + <component name="NodeModulesDirectoryManager"> + <handled-path value="$PROJECT_DIR$/node_modules" /> + </component> + <component name="ProjectFrameBounds"> + <option name="x" value="785" /> + <option name="y" value="40" /> + <option name="width" value="1788" /> + <option name="height" value="1407" /> + </component> + <component name="ProjectView"> + <navigator currentView="ProjectPane" proportions="" version="1"> + <flattenPackages /> + <showMembers /> + <showModules /> + <showLibraryContents /> + <hideEmptyPackages /> + <abbreviatePackageNames /> + <autoscrollToSource /> + <autoscrollFromSource ProjectPane="true" /> + <sortByType /> + <manualOrder /> + <foldersAlwaysOnTop value="true" /> + </navigator> + <panes> + <pane id="Scope" /> + <pane id="Scratches" /> + <pane id="ProjectPane"> + <subPane> + <expand> + <path> + <item name="node-tunnel" type="b2602c69:ProjectViewProjectNode" /> + <item name="node-tunnel" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="node-tunnel" type="b2602c69:ProjectViewProjectNode" /> + <item name="node-tunnel" type="462c0819:PsiDirectoryNode" /> + <item name="lib" type="462c0819:PsiDirectoryNode" /> + </path> + <path> + <item name="node-tunnel" type="b2602c69:ProjectViewProjectNode" /> + <item name="node-tunnel" type="462c0819:PsiDirectoryNode" /> + <item name="test" type="462c0819:PsiDirectoryNode" /> + </path> + </expand> + <select /> + </subPane> + </pane> + </panes> + </component> + <component name="PropertiesComponent"> + <property name="WebServerToolWindowFactoryState" value="false" /> + <property name="last_opened_file_path" value="$PROJECT_DIR$" /> + <property name="HbShouldOpenHtmlAsHb" value="" /> + <property name="nodejs_interpreter_path" value="$PROJECT_DIR$/../../nvmw/v6.10.3/node" /> + </component> + <component name="RecentsManager"> + <key name="CopyFile.RECENT_KEYS"> + <recent name="C:\Users\koichik\git\koichik\node-tunnel\test" /> + </key> + </component> + <component name="RunDashboard"> + <option name="ruleStates"> + <list> + <RuleState> + <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> + </RuleState> + <RuleState> + <option name="name" value="StatusDashboardGroupingRule" /> + </RuleState> + </list> + </option> + </component> + <component name="RunManager"> + <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js"> + <node-interpreter>project</node-interpreter> + <node-options /> + <gulpfile /> + <tasks /> + <arguments /> + <envs /> + </configuration> + <configuration default="true" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application"> + <method /> + </configuration> + <configuration default="true" type="DartTestRunConfigurationType" factoryName="Dart Test"> + <method /> + </configuration> + <configuration default="true" type="JavaScriptTestRunnerJest" factoryName="Jest"> + <node-interpreter value="project" /> + <working-dir value="" /> + <envs /> + <scope-kind value="ALL" /> + <method /> + </configuration> + <configuration default="true" type="JavaScriptTestRunnerKarma" factoryName="Karma"> + <config-file value="" /> + <node-interpreter value="project" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor"> + <config-file value="" /> + <node-interpreter value="project" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug"> + <method /> + </configuration> + <configuration default="true" type="NodeJSConfigurationType" factoryName="Node.js" path-to-node="project" working-dir=""> + <method /> + </configuration> + <configuration default="true" type="cucumber.js" factoryName="Cucumber.js"> + <option name="cucumberJsArguments" value="" /> + <option name="executablePath" /> + <option name="filePath" /> + <method /> + </configuration> + <configuration default="true" type="js.build_tools.npm" factoryName="npm"> + <command value="run" /> + <scripts /> + <node-interpreter value="project" /> + <envs /> + <method /> + </configuration> + <configuration default="true" type="mocha-javascript-test-runner" factoryName="Mocha"> + <node-interpreter>project</node-interpreter> + <node-options /> + <working-directory /> + <pass-parent-env>true</pass-parent-env> + <envs /> + <ui /> + <extra-mocha-options /> + <test-kind>DIRECTORY</test-kind> + <test-directory /> + <recursive>false</recursive> + <method /> + </configuration> + </component> + <component name="ShelveChangesManager" show_recycled="false"> + <option name="remove_strategy" value="false" /> + </component> + <component name="SvnConfiguration"> + <configuration /> + </component> + <component name="TaskManager"> + <task active="true" id="Default" summary="Default task"> + <changelist id="3caed8aa-31ae-4b3d-ad18-6f9796663516" name="Default" comment="" /> + <created>1497256565348</created> + <option name="number" value="Default" /> + <option name="presentableId" value="Default" /> + <updated>1497256565348</updated> + <workItem from="1497256566573" duration="8794000" /> + <workItem from="1497272051717" duration="2328000" /> + <workItem from="1536577850117" duration="8708000" /> + <workItem from="1536636907096" duration="739000" /> + </task> + <servers /> + </component> + <component name="TimeTrackingManager"> + <option name="totallyTimeSpent" value="20569000" /> + </component> + <component name="ToolWindowManager"> + <frame x="785" y="40" width="1788" height="1407" extended-state="0" /> + <editor active="true" /> + <layout> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> + <window_info id="SvgViewer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32967034" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> + <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> + <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> + <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> + <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + </layout> + </component> + <component name="TypeScriptGeneratedFilesManager"> + <option name="version" value="1" /> + </component> + <component name="VcsContentAnnotationSettings"> + <option name="myLimit" value="2678400000" /> + </component> + <component name="XDebuggerManager"> + <breakpoint-manager /> + <watches-manager /> + </component> + <component name="editorHistoryManager"> + <entry file="file://$PROJECT_DIR$/package.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="34"> + <caret line="2" column="19" lean-forward="false" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/README.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="2312"> + <caret line="136" column="67" lean-forward="false" selection-start-line="136" selection-start-column="67" selection-end-line="136" selection-end-column="67" /> + <folding> + <marker date="1497272379133" expanded="true" signature="590:646" ph="{...}" /> + <marker date="1497272379133" expanded="true" signature="601:644" ph="{"host": 'localhost'...}" /> + <marker date="1497272379133" expanded="true" signature="674:737" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="884:1330" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="964:1328" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1103:1192" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1290:1324" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="1357:1419" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="1514:2209" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="1540:1623" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1842:2207" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1981:2070" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2168:2202" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="2237:2300" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="2395:3180" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="2475:3178" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="2615:2704" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2802:2836" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="3207:3269" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="3366:4398" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="3392:3475" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="3694:4396" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="3834:3923" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="4021:4055" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="4426:4489" ph="{"host": 'example.com'...}" /> + </folding> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/.travis.yml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="102"> + <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http-error.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="935"> + <caret line="55" column="26" lean-forward="true" selection-start-line="55" selection-start-column="26" selection-end-line="55" selection-end-column="26" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http-error2.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1207"> + <caret line="71" column="0" lean-forward="false" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/https-over-http.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1479"> + <caret line="87" column="0" lean-forward="false" selection-start-line="87" selection-start-column="0" selection-end-line="87" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/https-over-https.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1088"> + <caret line="64" column="26" lean-forward="true" selection-start-line="64" selection-start-column="26" selection-end-line="64" selection-end-column="26" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/lib/tunnel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="697"> + <caret line="41" column="19" lean-forward="false" selection-start-line="41" selection-start-column="19" selection-end-line="41" selection-end-column="19" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/package.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="34"> + <caret line="2" column="19" lean-forward="false" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/README.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="2312"> + <caret line="136" column="67" lean-forward="false" selection-start-line="136" selection-start-column="67" selection-end-line="136" selection-end-column="67" /> + <folding> + <marker date="1497272379133" expanded="true" signature="590:646" ph="{...}" /> + <marker date="1497272379133" expanded="true" signature="601:644" ph="{"host": 'localhost'...}" /> + <marker date="1497272379133" expanded="true" signature="674:737" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="884:1330" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="964:1328" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1103:1192" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1290:1324" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="1357:1419" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="1514:2209" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="1540:1623" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1842:2207" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1981:2070" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2168:2202" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="2237:2300" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="2395:3180" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="2475:3178" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="2615:2704" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2802:2836" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="3207:3269" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="3366:4398" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="3392:3475" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="3694:4396" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="3834:3923" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="4021:4055" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="4426:4489" ph="{"host": 'example.com'...}" /> + </folding> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/lib/tunnel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2550"> + <caret line="150" column="0" lean-forward="false" selection-start-line="150" selection-start-column="0" selection-end-line="150" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/CHANGELOG.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="51"> + <caret line="3" column="21" lean-forward="false" selection-start-line="3" selection-start-column="21" selection-end-line="3" selection-end-column="21" /> + <folding /> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/.travis.yml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="119"> + <caret line="7" column="0" lean-forward="true" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/package.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/README.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding> + <marker date="1497272379133" expanded="true" signature="590:646" ph="{...}" /> + <marker date="1497272379133" expanded="true" signature="601:644" ph="{"host": 'localhost'...}" /> + <marker date="1497272379133" expanded="true" signature="674:737" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="884:1330" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="964:1328" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1103:1192" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1290:1324" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="1357:1419" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="1514:2209" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="1540:1623" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1842:2207" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1981:2070" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2168:2202" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="2237:2300" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="2395:3180" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="2475:3178" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="2615:2704" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2802:2836" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="3207:3269" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="3366:4398" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="3392:3475" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="3694:4396" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="3834:3923" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="4021:4055" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="4426:4489" ph="{"host": 'example.com'...}" /> + </folding> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/.travis.yml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/lib/tunnel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2550"> + <caret line="150" column="0" lean-forward="false" selection-start-line="150" selection-start-column="0" selection-end-line="150" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/https-over-https.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/https-over-https-error.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="136"> + <caret line="8" column="0" lean-forward="false" selection-start-line="7" selection-start-column="0" selection-end-line="8" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http-error.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1309"> + <caret line="77" column="0" lean-forward="false" selection-start-line="77" selection-start-column="0" selection-end-line="77" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-https.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-https.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/https-over-https-error.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/README.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="2312"> + <caret line="136" column="67" lean-forward="false" selection-start-line="136" selection-start-column="67" selection-end-line="136" selection-end-column="67" /> + <folding> + <marker date="1497272379133" expanded="true" signature="590:646" ph="{...}" /> + <marker date="1497272379133" expanded="true" signature="601:644" ph="{"host": 'localhost'...}" /> + <marker date="1497272379133" expanded="true" signature="674:737" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="884:1330" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="964:1328" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1103:1192" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1290:1324" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="1357:1419" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="1514:2209" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="1540:1623" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="1842:2207" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="1981:2070" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2168:2202" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="2237:2300" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="2395:3180" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="2475:3178" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="2615:2704" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="2802:2836" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="3207:3269" ph="{"host": 'example.com'...}" /> + <marker date="1497272379133" expanded="true" signature="3366:4398" ph="{"maxSockets": poolSize...}" /> + <marker date="1497272379133" expanded="true" signature="3392:3475" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="3694:4396" ph="{"host": proxyHost...}" /> + <marker date="1497272379133" expanded="true" signature="3834:3923" ph="//..." /> + <marker date="1497272379133" expanded="true" signature="4021:4055" ph="{"User-Agent": 'Node'...}" /> + <marker date="1497272379133" expanded="true" signature="4426:4489" ph="{"host": 'example.com'...}" /> + </folding> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/package.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="34"> + <caret line="2" column="19" lean-forward="false" selection-start-line="2" selection-start-column="19" selection-end-line="2" selection-end-column="19" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http-error.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="935"> + <caret line="55" column="26" lean-forward="true" selection-start-line="55" selection-start-column="26" selection-end-line="55" selection-end-column="26" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http-error2.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1207"> + <caret line="71" column="0" lean-forward="false" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/https-over-http-localaddress.js" /> + <entry file="file://$PROJECT_DIR$/test/https-over-https.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/http-over-http.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1088"> + <caret line="64" column="26" lean-forward="true" selection-start-line="64" selection-start-column="26" selection-end-line="64" selection-end-column="26" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/test/https-over-http.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="1479"> + <caret line="87" column="0" lean-forward="false" selection-start-line="87" selection-start-column="0" selection-end-line="87" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/lib/tunnel.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="697"> + <caret line="41" column="19" lean-forward="false" selection-start-line="41" selection-start-column="19" selection-end-line="41" selection-end-column="19" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/CHANGELOG.md"> + <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]"> + <state split_layout="SPLIT"> + <first_editor relative-caret-position="102"> + <caret line="6" column="0" lean-forward="false" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> + <folding /> + </first_editor> + <second_editor /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/.travis.yml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="102"> + <caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + </component> +</project>
\ No newline at end of file diff --git a/node_modules/tunnel/.travis.yml b/node_modules/tunnel/.travis.yml new file mode 100644 index 0000000..cb6e182 --- /dev/null +++ b/node_modules/tunnel/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "4" + - "6" + - "8" + - "10" diff --git a/node_modules/tunnel/CHANGELOG.md b/node_modules/tunnel/CHANGELOG.md new file mode 100644 index 0000000..baf6b18 --- /dev/null +++ b/node_modules/tunnel/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + + - 0.0.6 (2018/09/11) + - Fix `localAddress` not working (#25) + - Fix `Host:` header for CONNECT method by @tmurakam (#29, #30) + - Fix default port for https (#32) + - Fix error handling when the proxy send illegal response body (#33) + + - 0.0.5 (2017/06/12) + - Fix socket leak. + + - 0.0.4 (2016/01/23) + - supported Node v0.12 or later. + + - 0.0.3 (2014/01/20) + - fixed package.json + + - 0.0.1 (2012/02/18) + - supported Node v0.6.x (0.6.11 or later). + + - 0.0.0 (2012/02/11) + - first release. diff --git a/node_modules/tunnel/LICENSE b/node_modules/tunnel/LICENSE new file mode 100644 index 0000000..8b8a895 --- /dev/null +++ b/node_modules/tunnel/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012 Koichi Kobayashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/tunnel/README.md b/node_modules/tunnel/README.md new file mode 100644 index 0000000..f54bca5 --- /dev/null +++ b/node_modules/tunnel/README.md @@ -0,0 +1,185 @@ +# node-tunnel - HTTP/HTTPS Agents for tunneling proxies + +[![Build Status](https://img.shields.io/travis/koichik/node-tunnel.svg?style=flat)](https://travis-ci.org/koichik/node-tunnel) +[![Dependency Status](http://img.shields.io/david/koichik/node-tunnel.svg?style=flat)](https://david-dm.org/koichik/node-tunnel#info=dependencies) +[![DevDependency Status](http://img.shields.io/david/dev/koichik/node-tunnel.svg?style=flat)](https://david-dm.org/koichik/node-tunnel#info=devDependencies) + +## Example + +```javascript +var tunnel = require('tunnel'); + +var tunnelingAgent = tunnel.httpsOverHttp({ + proxy: { + host: 'localhost', + port: 3128 + } +}); + +var req = https.request({ + host: 'example.com', + port: 443, + agent: tunnelingAgent +}); +``` + +## Installation + + $ npm install tunnel + +## Usages + +### HTTP over HTTP tunneling + +```javascript +var tunnelingAgent = tunnel.httpOverHttp({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 80 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + } + } +}); + +var req = http.request({ + host: 'example.com', + port: 80, + agent: tunnelingAgent +}); +``` + +### HTTPS over HTTP tunneling + +```javascript +var tunnelingAgent = tunnel.httpsOverHttp({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + // CA for origin server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Client certification for origin server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 80 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + }, + } +}); + +var req = https.request({ + host: 'example.com', + port: 443, + agent: tunnelingAgent +}); +``` + +### HTTP over HTTPS tunneling + +```javascript +var tunnelingAgent = tunnel.httpOverHttps({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 443 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + }, + + // CA for proxy server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Server name for verification if necessary + servername: 'example.com', + + // Client certification for proxy server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + } +}); + +var req = http.request({ + host: 'example.com', + port: 80, + agent: tunnelingAgent +}); +``` + +### HTTPS over HTTPS tunneling + +```javascript +var tunnelingAgent = tunnel.httpsOverHttps({ + maxSockets: poolSize, // Defaults to http.Agent.defaultMaxSockets + + // CA for origin server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Client certification for origin server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + + proxy: { // Proxy settings + host: proxyHost, // Defaults to 'localhost' + port: proxyPort, // Defaults to 443 + localAddress: localAddress, // Local interface if necessary + + // Basic authorization for proxy server if necessary + proxyAuth: 'user:password', + + // Header fields for proxy server if necessary + headers: { + 'User-Agent': 'Node' + } + + // CA for proxy server if necessary + ca: [ fs.readFileSync('origin-server-ca.pem')], + + // Server name for verification if necessary + servername: 'example.com', + + // Client certification for proxy server if necessary + key: fs.readFileSync('origin-server-key.pem'), + cert: fs.readFileSync('origin-server-cert.pem'), + } +}); + +var req = https.request({ + host: 'example.com', + port: 443, + agent: tunnelingAgent +}); +``` + +## CONTRIBUTORS +* [Aleksis Brezas (abresas)](https://github.com/abresas) +* [Jackson Tian (JacksonTian)](https://github.com/JacksonTian) +* [Dmitry Sorin (1999)](https://github.com/1999) + +## License + +Licensed under the [MIT](https://github.com/koichik/node-tunnel/blob/master/LICENSE) license. diff --git a/node_modules/tunnel/index.js b/node_modules/tunnel/index.js new file mode 100644 index 0000000..2947757 --- /dev/null +++ b/node_modules/tunnel/index.js @@ -0,0 +1 @@ +module.exports = require('./lib/tunnel'); diff --git a/node_modules/tunnel/lib/tunnel.js b/node_modules/tunnel/lib/tunnel.js new file mode 100644 index 0000000..10cc382 --- /dev/null +++ b/node_modules/tunnel/lib/tunnel.js @@ -0,0 +1,264 @@ +'use strict'; + +var net = require('net'); +var tls = require('tls'); +var http = require('http'); +var https = require('https'); +var events = require('events'); +var assert = require('assert'); +var util = require('util'); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port, localAddress) { + var options = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options.host && pending.port === options.port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress)); + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push(options); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket(options, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, options); + } + + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false, + headers: { + host: options.host + ':' + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode !== 200) { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + socket.destroy(); + var error = new Error('tunneling socket could not be established, ' + + 'statusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug('got illegal response body from proxy'); + socket.destroy(); + var error = new Error('got illegal response body from proxy'); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + return; + } + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader('host'); + var tlsOptions = mergeOptions({}, self.options, { + socket: socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host + }); + + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); +} + + +function toOptions(host, port, localAddress) { + if (typeof host === 'string') { // since v0.10 + return { + host: host, + port: port, + localAddress: localAddress + }; + } + return host; // for v0.11 or later +} + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test diff --git a/node_modules/tunnel/package.json b/node_modules/tunnel/package.json new file mode 100644 index 0000000..bcd7b95 --- /dev/null +++ b/node_modules/tunnel/package.json @@ -0,0 +1,34 @@ +{ + "name": "tunnel", + "version": "0.0.6", + "description": "Node HTTP/HTTPS Agents for tunneling proxies", + "keywords": [ + "http", + "https", + "agent", + "proxy", + "tunnel" + ], + "homepage": "https://github.com/koichik/node-tunnel/", + "bugs": "https://github.com/koichik/node-tunnel/issues", + "license": "MIT", + "author": "Koichi Kobayashi <koichik@improvement.jp>", + "main": "./index.js", + "directories": { + "lib": "./lib" + }, + "repository": { + "type": "git", + "url": "https://github.com/koichik/node-tunnel.git" + }, + "scripts": { + "test": "mocha" + }, + "devDependencies": { + "mocha": "^5.2.0", + "should": "^13.2.3" + }, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } +} |