{"_id":"@alanchenchen/httpproxyer","_rev":"7-80b5596a6edd86f1589514f66117448a","name":"@alanchenchen/httpproxyer","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.4":{"name":"@alanchenchen/httpproxyer","version":"0.0.4","author":{"name":"Alan Chen"},"license":"MIT","description":"A simple http server proxy module implented with nodejs","main":"src/proxy.js","directories":{"example":"example"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"homepage":"https://github.com/alanchenchen/httpProxyer#readme","engines":{"node":">= 8.11.1"},"dependencies":{"express":"^4.16.4"},"gitHead":"154a7d809d1a5590c5cb498bae03546dd7246234","_id":"@alanchenchen/httpproxyer@0.0.4","_npmVersion":"6.3.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alanchenchen","email":"739709491@qq.com"},"dist":{"integrity":"sha512-uAWpuHzf+3YIgcn+xKeqQKxlT8lq4bqATdiIt77frc/+aPKTzHYFM1JNGyGU33nh/XibH8XTx5+TpO9UZzoW5Q==","shasum":"39e8c8f6e64d5e0cb36c4eb836fbaf4bc85fb3b1","tarball":"https://registry.npmjs.org/@alanchenchen/httpproxyer/-/httpproxyer-0.0.4.tgz","fileCount":15,"unpackedSize":31567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcF2djCRA9TVsSAnZWagAAl8gP/2qMqSD7+IDFY5/GPvD+\nqrOKDclomw1i6mNEqUdHLThGDtg/DdeCV6DikS6XM6Uefo7JZAoDURLNRy/V\nVVARz0nJSUlaVHnFRBzjsMW3eFk4cgAWkZhVXskUAciBOmLa4JW0J/cE9Q3s\nrQqmjFP9LVw7lQnj0jtlqKHEybAaTQkR3Q+PvbCBMziinSa55DHHSWGUk4sl\nRfhJ4N42kcypaietBqtP1PvAxes6LOj4KENCYZqRKDzaM5rbnqi1nwRAcy37\nopn1qdHBBvn8mdvZ4rcnJzJAqv+6OSSlHB8WMqYIVq2+Pyd18g4aGP7aTncG\nGoQlZ7tBHHCW4oXht4Ig9swGt46tZycgkkjkwspdb1w/KeK86RYDML/DcmkU\nx34QnXV0h1WHsPHuoV0KVbaZjdHlqFwMqPLEqCFFGBNA5c01l6IioKKmizCr\n3bukiyaEqrKd1wMFsiKxbmduzBUmzwjypDSTfNShulCdUUoAQJ7xV4n8dwRt\n/EQwcySuizrSmemuXZPgUZq06tjBkZlU5ekh8jCa05eiH6/XIue0Zu46j5O7\nie5SP9IRhDcdBGp/apGy5m9glM8r/FeXLH/bYWJuQU8d3BxpVreDM4ftk3n8\n2XCot9RoUf8fQ7wIkGfBdvmA0G/55HcbLHZEqqG6CWC4S3Bv2RQ7DjPDYvx3\nXvHq\r\n=iiY4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE6pZEPqN30PgRZaB9jCzDg3+FRo3jKAWaakJXP40lmbAiAqev1Lf80nEoJR/vYhvGbwJlcyCtRx6U1wWb/cbbtvoA=="}]},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpproxyer_0.0.4_1545037667278_0.02977616213450829"},"_hasShrinkwrap":false},"0.0.5":{"name":"@alanchenchen/httpproxyer","version":"0.0.5","author":{"name":"Alan Chen"},"license":"MIT","description":"A simple http server proxy module implented with nodejs","main":"src/proxy.js","directories":{"example":"example"},"scripts":{},"repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"homepage":"https://github.com/alanchenchen/httpProxyer#readme","engines":{"node":">= 8.11.1"},"gitHead":"510635d4dc74ee95e97038ae00972c65924b393a","_id":"@alanchenchen/httpproxyer@0.0.5","_npmVersion":"6.3.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alanchenchen","email":"739709491@qq.com"},"dist":{"integrity":"sha512-KXkED+EKYlmfPh44gABWqKuvfpv/kMpIECvbrtoHfUCTa17/rTyRf4yNITLl0zur0THZyrV427ED4+T1Maiygw==","shasum":"9e24256ea98c3f346768115a6833cc00a529ad29","tarball":"https://registry.npmjs.org/@alanchenchen/httpproxyer/-/httpproxyer-0.0.5.tgz","fileCount":15,"unpackedSize":31455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcF2h6CRA9TVsSAnZWagAA6HgP/jBt8l/GnQGX7nggCBA8\nXa/QLUfJGv8y56ksXLZtM6Y1tAF6upFF4PpkT0LogRyllmpqMhuICC4sWzLp\ntWTmmT7xYwGlyXtNaK465Tahtn8qzY3UEjvQe1ihLG9K3AfEf44PzT+iUz/5\nVVikV7heD7yy2ApVgJ70tYIyorozFyTNPF6ChcOQB4EzrBKoawqbUoxRCa7z\nKHO3gFQQyry/sYH1EgeLPIwSF2ElUgDO8Q0euOV57T1Lrbp/gIR0SZIi0u8D\nv8sFG8N70gu8Nkf1QFm/X9kzpHyNEBGV++n9P2GknHDAhI1nUqvGo7EsspKk\ng6I1VIdyomwM30DZElX5taAsgjNMDQcNG4lEZXO6qG+EOkZ9YdR+0v5SmGxH\nt/K1eC4zycsNAE/8nfuxths1Q4rC9tRJJxs47G5+rvJmAaJP5QaLJSI+ohXp\nQAWSXNho6S0fKY37YDH7oSPS/XRm3k1zY0kiCuLvHXBwb9Pv0EBUw/MZdI0H\n8fY9tc9jwxjHAiHv64VPd+nlyp9ZYucH00EiNT8E50JoG98Grx3skkrCrVm0\nsjPr550+b+oAr+Qhq6qfoH6YIk/118POz7JXDWg7zt+sid25TbBce2edzu53\nPWvSkN/NhKytS7tUcRY5Fkt6I8f01SRLcsGJgQ2brE+rkqAuN670Ii0nPXtj\nqEMv\r\n=bTWY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbgc0w5OekC2nDOODw9bY5RNOQabldi4417mr4vGoymwIgLHMHGoqH8d2N0u3zhK6E9T8Sq7qlhOXktVbN1XY7olM="}]},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpproxyer_0.0.5_1545037945499_0.2589267788768572"},"_hasShrinkwrap":false},"0.0.6":{"name":"@alanchenchen/httpproxyer","version":"0.0.6","author":{"name":"Alan Chen"},"license":"MIT","description":"A simple http server proxy module implented with nodejs","main":"src/proxy.js","directories":{"example":"example"},"scripts":{"test":"mocha test/*.test.js"},"repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"homepage":"https://github.com/alanchenchen/httpProxyer#readme","engines":{"node":">= 8.11.1"},"devDependencies":{"mocha":"^5.2.0"},"gitHead":"ad8365309b7c61064b36bed38ecf3cf4e0924376","_id":"@alanchenchen/httpproxyer@0.0.6","_npmVersion":"6.3.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alanchenchen","email":"739709491@qq.com"},"dist":{"integrity":"sha512-79PFF4p8bf0GnydtUWHBq2sM1iWXzJ8F1Wd3Xf/Wv1iyT7YoUsy7d/5zCPUZKLfKUmHfL0QXYdOViHbyEGSMww==","shasum":"8f1093343c71ec7ad568e145fa79bfd8e8baf978","tarball":"https://registry.npmjs.org/@alanchenchen/httpproxyer/-/httpproxyer-0.0.6.tgz","fileCount":19,"unpackedSize":38307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGL9xCRA9TVsSAnZWagAASLUP/1CxMBW8PBWZY33z9yJm\nOuu8+lZyZuwRCJaAi9lIArxi0uvR1MgG1ul4vPzTqc/KuCa/kGJ5GpQbUzYG\nRZpTAzSbxRIMZtQWzzCWMgemPzHa8HOPkz+lQhoFegzYI0HPJYYcmy743Ow3\nUXTHqxTrcyecLfZDcOBBaEwQHlKE20mOoXQ1GpSJ0bDjTwrDLuEhdciWD7Xu\nT6BgvUXV64xplBuW6YKiQWdB5MJ2EBQOnpdcmQHskIPLk7FYIwdkM9+wSgRU\nSTM53C6X4UAK5HnCRCB5eFWmDUBG15i/FDC3Kq9uPajdDJpeZ9N8Dw+WeBCn\nqPWrzn+jkW0I2OF3t+FED6bL3MUVDU6CvTLk1kULEwJRuBShmaaIBBgTy1nD\nR7zkxkPQe8Jyz7iQOCTbJzOnry44lQN6GaXjmEEEUn4pdyH2pkLWQFsUoo7R\ntPfS2tMCs3QNO3hTLs+D7a4ZzOImnaEpA+cVOvd9yQXXc0Ec2h0cVsvrKzpM\nHE9jeDA2chijebLVGwHFJ8Mm5ahN5J+W4Zoib+TZ96YTQbzcDHiaWSAaEu64\nnJN2ACVUo25UTu9MBb8A/y9IX7kFI0gVDhhT2EFzURUa5fvBTuSXQgzZ46GK\ndHDz08pplr3M9x6rd4fDBPrMqjtwS11mft3gN2gLiE00I3qGy+kzfE1lUpae\ntFms\r\n=PeO3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWiJrw0ZpJQ4BYTWAjbYTEOCwJFS0D0cUx2CVo6eEjlgIgSyzhWF9LzlO9YwROuIys5dOmKuslnnSlUMdqxatxvBo="}]},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpproxyer_0.0.6_1545125744242_0.678778822836642"},"_hasShrinkwrap":false},"0.0.7":{"name":"@alanchenchen/httpproxyer","version":"0.0.7","author":{"name":"Alan Chen"},"license":"MIT","description":"A simple http server proxy module implented with nodejs","main":"src/index.js","directories":{"example":"example"},"scripts":{"test":"mocha test/*.test.js"},"repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"homepage":"https://github.com/alanchenchen/httpProxyer#readme","engines":{"node":">= 8.11.1"},"devDependencies":{"mocha":"^5.2.0"},"gitHead":"e135008af4d1b2f14da604775bb07aafe66ab849","_id":"@alanchenchen/httpproxyer@0.0.7","_npmVersion":"6.3.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alanchenchen","email":"739709491@qq.com"},"dist":{"integrity":"sha512-W1DzvVgLmsFEzmx4u6KF+Q4geEAtoP2z+yt7WiEL7xylfGRPs7mlvpe+3dHQfF3WFPazkv686e/NRXvXgDZgPA==","shasum":"228ef7ea5f1bb0737f25cfac05b2746597579e5c","tarball":"https://registry.npmjs.org/@alanchenchen/httpproxyer/-/httpproxyer-0.0.7.tgz","fileCount":20,"unpackedSize":40047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLsnmCRA9TVsSAnZWagAAfosQAIrgHpiuYplSdHM8Fgyx\nOLpomG2K2v4uvHIM8aVuVUOf/n9MxrtyHJUiFjPhBc68LRvf4+LHtPvefoWZ\n9D4q/N7pCZp5+zwS35JVUdX1ghGxoWS8Rcj6u427z/qOnI+lEzndk8d/bPfa\ndXzvvkGel+DdVvc/ZHNtOU1z4XYFIZAmBvFxbDcUm76RRCAjbMax9S2w1r3H\nI2uFSsxfZ6qwaGon+FyOpILZkyNk3E2gP8r9LLEWTkhI6hiu6Pe9KVAVoFH3\niWLe5dGWyqLe6rO3hkqQ6VY6WeVKBeEceIj/SHFA9qPLxcOIOcaA6sirjSv6\n86tbKsoXK8a38Z50j/ZqkEDzxn51VM+yHJufkCzuahvxBCeg2lpe9iOuCmu+\nMmfJzw5WPUKEBoA8h7pDNkmkSvZIzSAlmI8vV12nl+sDKnMpstWsLXhozNJN\nBW1LYgMnIMiQVBbf/NupSX6e/7iY2CLtId0xJGuDDyR7nrrQzie1wggubZv8\nXf/fdM/ZRGyaHm9C0j2hSz+HciPb0nlrESNDhDPapW2kFSlNJYQiRp9FxY+N\n4LU3O184XPx8aHk2z8ut7FLkLbx50Pbu3n7UkDiOQqqKbYR0CknHaEvND378\nrc5U+lyrlchpqT4TMoUON9XqXScnwRygsb+PqEgxmRnGgTIZRpqoX4vmGfeV\n59yX\r\n=mcf+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID7huEpTVJ4ZwFE6LPZsajjcITxN9Zx3B/V/5UeiANoEAiAGXaHBrn7s5fc2yrhLE4Cbu2P9JqrUCcnuUJrmbtOkIg=="}]},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpproxyer_0.0.7_1546570213912_0.9763557273282357"},"_hasShrinkwrap":false},"0.0.8":{"name":"@alanchenchen/httpproxyer","version":"0.0.8","author":{"name":"Alan Chen"},"license":"996.ICU","description":"A simple http server proxy module implented with nodejs","main":"src/index.js","directories":{"example":"example"},"scripts":{"test":"mocha test/*.test.js"},"repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"homepage":"https://github.com/alanchenchen/httpProxyer#readme","engines":{"node":">= 8.11.1"},"devDependencies":{"mocha":"^5.2.0"},"gitHead":"2c780bdb5928ebad2e979d36405420e017ae61ca","_id":"@alanchenchen/httpproxyer@0.0.8","_npmVersion":"6.5.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alanchenchen","email":"739709491@qq.com"},"dist":{"integrity":"sha512-IzQyb/TaiLpux0K9B3yz42FIR03CxIsFUoIHsHwgRQUd4lihveMWXxiPeyMnVGWj4kO30oAXZ4DNBwD4p7Qx+Q==","shasum":"79e454f2b508f5e160636e870ea6f52b70f8d24f","tarball":"https://registry.npmjs.org/@alanchenchen/httpproxyer/-/httpproxyer-0.0.8.tgz","fileCount":23,"unpackedSize":45644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcv7LMCRA9TVsSAnZWagAAKQkP/j6vZPk7OaOhJoFZvVso\nNrLtukO/FODLFvE16EmWCQr7zpSkS4Bs508py49BcK53CELBLOEr6Ytpxnra\nabjaYl3VupozpwV3jpJXkDBgYEEg36lVb5y5sPnd7dN2YdHbEMOYOxcNjFlJ\nSLhmAbPqEBg9/AjYsGYBHex7EqhPcPxWgSwJISMakiENgvj2kaJz+JJ81OmS\n3g2i2BBfMvtXFZYRuPTcbQl5ygnd6oCz5OK/HHprnV/x+p38W43nvWlfrX0V\nkNYIIOnxOTFaJHZbncIHrlJjD9azSGO3ik1QiUvsn0uhpx61/x/pioVkzX28\nX7uIUoVpbGu2L5XVi/9xky9E/qT3UpT5zWjVlR+2rwjxBaUM8rD46AjRj0tv\nCANXl0wwAt8z8HqTf9rD0twOJt7Fmh1p6lmifOnjTHGB67k6OGjtWS6sJ8iG\n6aZoyVnq0FX0RuJct1JHLhfv7fw7oUwvqb9bPtkfKBsHY3NjuWTFu7OkoxPw\nsC+sT2Pcm50h1zksZ+n8GkROBOHoyWdsRIejYZEcq5X/XXxtWFsJuhxBxSY+\n3ScFFnSoX3jcvGQ4vLDZ88MVdoxztSVN1ZZJAYU3d4dJvvdwY9eAQ0nA5seU\n+UAQg5bzKTvFmrFCTVuKOqMhIEh1nJzlz6+0OKb20ppqvpiAY9wBAMixPq8A\n6zbp\r\n=+QXH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAyt9HOdSxdx8oiHALooR+0pD+nwhRWoj52GTmM5kuNlAiEAusN3EYJcWoRaACThvr3MJ8NGgxa4zxec6Jt8p5QJ2Eo="}]},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpproxyer_0.0.8_1556067019950_0.017647031270547897"},"_hasShrinkwrap":false},"0.0.9":{"name":"@alanchenchen/httpproxyer","version":"0.0.9","author":{"name":"Alan Chen"},"license":"996.ICU","description":"A simple http server proxy module implented with nodejs","main":"src/index.js","directories":{"example":"example"},"scripts":{"test":"mocha test/*.test.js"},"repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"homepage":"https://github.com/alanchenchen/httpProxyer#readme","engines":{"node":">= 8.11.1"},"devDependencies":{"mocha":"^5.2.0"},"gitHead":"eb4b58561ce832507a5ea272ca7b256ebb30fdb2","_id":"@alanchenchen/httpproxyer@0.0.9","_npmVersion":"6.5.0","_nodeVersion":"8.11.1","_npmUser":{"name":"alanchenchen","email":"739709491@qq.com"},"dist":{"integrity":"sha512-OWI4JbpR1EJTtcIELksfN6/L9uS2DO71rszDFQb+d2kkw8jIFpGFrq/uDL7k5q/KdL1lKyozJeG9XT+/hQyYcQ==","shasum":"89ee6833b66a08cbf65e215d5cfb9e40b1af0f98","tarball":"https://registry.npmjs.org/@alanchenchen/httpproxyer/-/httpproxyer-0.0.9.tgz","fileCount":23,"unpackedSize":46224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwU2ACRA9TVsSAnZWagAAPy0QAJMphop5ywF7No5PJQLO\nnqcuqjVP9P9rkSwAv3uIH2IFjgiTLmOD0YnE3JyeWBQoqBULxqNUZdfH3AIW\niXPeh0VH5BxutpB9RTKcLze+MuQjpPy9hKpmMn55BSMggMfr3JUzaFXUB1Rj\n/+PjYcWCka5QWFQL1uXr1K5FUN4TU4x/Ia7lsSNlcDyrLxnuY4vreTfm9UmT\nGQKiYb7Ye2Ee1b4g1AdsY7Y9h/VArV4n3YV07iiopn8QBITcCclC+PfH3pD8\noShvccJKk4Zv+zkyq1s901OMRmmoOC3SNGhzMIGhBygN8pmgHNKdMuLj2kkK\nO17w1NrfjUCCiIQTUNF+j/yFVVVkXf3wsicGgNz6atmwHJhhwWZAL7Lojwgj\nWpnG9YuKHw8W6Y2IL2+YjYTU186tprpa4v7BPeXgKNHN5M5IyY4u9hA2Bxbj\nFLmp7kghFHVAjBbFLXnZqbrUOxH+JKN3iZSNHiUkwA11V3TbKZAH7mrOzsK4\nBuSoeWgRtUN8l6a/2dm2Sm0NwOzQWfoFWmD5fKmN4bb+wSzZHbfXCnHBwAk+\nR1tLueHoH9xhomY4SBq2rAXY6Q/lQTh/gfQQZuwQ6vHY0T5xTZFqAkR6uA6W\nbPCZiEZwf78EiOqrEbF1m2tl6KCWCN1EKwaUBhr5tdjR+9/fRoRpuDFiFbas\nDZRx\r\n=dzHE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICFylYLB5oAO5dYlNQbvdUfLA33aiUuZlUQY49p1eMQvAiAyZCB8FqgwmNL0KsFrVNxp4M8O8SOBKqSG3QmIo4S+oQ=="}]},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpproxyer_0.0.9_1556172159517_0.3494474557041245"},"_hasShrinkwrap":false},"0.1.0":{"name":"@alanchenchen/httpproxyer","version":"0.1.0","author":{"name":"Alan Chen"},"license":"996.ICU","description":"A simple http server proxy module implented with nodejs","main":"src/index.js","directories":{"example":"example"},"scripts":{"test":"mocha test/*.test.js"},"repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"homepage":"https://github.com/alanchenchen/httpProxyer#readme","engines":{"node":">= 8.11.1"},"devDependencies":{"mocha":"^5.2.0"},"gitHead":"2df9c446e8d9bc1272fb5f4f8fddc4595cd42785","_id":"@alanchenchen/httpproxyer@0.1.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-MIIkuZ4bfWdXRTtwvHpIjdGqEukpASKrMUysDgYTzvxL2LJk8UxnePeqmuRvPU4jeHBtIUjHK8v4851jNbXr8A==","shasum":"338a9fe63ba80030fa28ac83be4084b9c2cc6166","tarball":"https://registry.npmjs.org/@alanchenchen/httpproxyer/-/httpproxyer-0.1.0.tgz","fileCount":24,"unpackedSize":47992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd53ewCRA9TVsSAnZWagAAMrMP/1KDTRfzVri9FHRd+lUV\n5hPSs3x+jqtbp7h7tbDRvbE9BPuNyICvWxNmY+1mX3GLus8OvpeQzuaqT9zl\nyfvCht+eZuF37vMDnRzKf+oN2HhX52CyYZM1zaAGa368h2MvDggsrjjYzzE3\nLz1CVi+h8BGCQGOoTHm16lKE4pKUR6fX8zQ945/09KvU/wTEG91TpHTQbG+p\nLl5JtUtgML+hRNNmyjRxRBjBjlLwIms0dY/GLlQtE9IN0CR51E+TMLw2Prba\nmUc+BndC9T3ExpJnTRt/7OQUb/WIOIVPNTyxZ8yj866cssahDrJMWD0uF374\nOuUF2lzc3ohKP5q9l+C5KmbCXtSnd2oWnV9UOmMdP1kTSLhRqVcXI58ePeK9\n4YEqv5h0Rs8z+T/NqxPB/4e9NAu9gCfRoakc9RVS99GTGPqCxlYZIj9ugDiS\nLB2hXaQeBgQjTbPGsjx3Q/uwwLO/SkByZ3n3bNL0IM+EvSIMTSFJ19v9TvB+\nFvG3ZA5bqeMiErmqnXryQ1KNhI55wjGlEjhZ7OKO+6soJvqOuzP1zfTcs+UF\nF0veH2RxA64ru9ra4PE+59AJxVawALxPqGdJqLG4p3PP25gFyKvST5GPNGyT\nKCVkdB1FIWqmo0AlQ8Ev/RdAAmF3MWjQonmk02dsJRwvp68GbUDQG8S5eWEo\nPssi\r\n=Hdru\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCl66lRte3FqpnRDhi08uVSiqEwG+ahCLpKJe9sWEaEJwIhANA8MF0bwWGLRP63cfYPB4cF7m0NzsN8Gb+j67GJBBAn"}]},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"_npmUser":{"name":"alanchenchen","email":"739709491@qq.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/httpproxyer_0.1.0_1575450543708_0.911776667545406"},"_hasShrinkwrap":false}},"time":{"created":"2018-12-17T09:07:47.108Z","0.0.4":"2018-12-17T09:07:47.420Z","modified":"2022-04-04T12:32:58.471Z","0.0.5":"2018-12-17T09:12:25.637Z","0.0.6":"2018-12-18T09:35:44.520Z","0.0.7":"2019-01-04T02:50:14.086Z","0.0.8":"2019-04-24T00:50:20.191Z","0.0.9":"2019-04-25T06:02:39.696Z","0.1.0":"2019-12-04T09:09:03.822Z"},"maintainers":[{"name":"alanchenchen","email":"739709491@qq.com"}],"description":"A simple http server proxy module implented with nodejs","homepage":"https://github.com/alanchenchen/httpProxyer#readme","repository":{"type":"git","url":"git+https://github.com/alanchenchen/httpProxyer.git"},"author":{"name":"Alan Chen"},"bugs":{"url":"https://github.com/alanchenchen/httpProxyer/issues"},"license":"996.ICU","readme":"# httpProxyer\n\n> 代理转发http和https请求的node包，无依赖\n\n> Author : Alan Chen\n\n> version: 0.0.9\n\n> node >= 8.11.1\n\n> Date: 2019/4/25\n\n<div align=\"center\">\n\n[![](assets/logo.png)](https://www.npmjs.com/package/@alanchenchen/httpproxyer)\n\n[![Build Status](https://travis-ci.org/alanchenchen/httpProxyer.svg?branch=master)](https://travis-ci.org/alanchenchen/httpProxyer)\n![](https://img.shields.io/npm/v/@alanchenchen/httpproxyer.svg)\n![](https://img.shields.io/node/v/@alanchenchen/httpproxyer.svg)\n![](https://img.shields.io/npm/dt/@alanchenchen/httpproxyer.svg)\n[![LICENSE](https://img.shields.io/badge/license-Anti%20996-blue.svg)](https://github.com/996icu/996.ICU/blob/master/LICENSE)\n\n</div>\n\n## Features\n1. 支持代理http和https请求，支持自启一个代理服务器。自启的服务器只支持http的protocol\n2. 支持反向代理实现负载均衡\n3. 提供事件钩子函数拦截并重写数据\n4. 提供express的中间件\n5. 提供静态文件服务器工具\n\n## Usage \n\n1. `npm install --save @alanchenchen/httpproxyer` or `yarn add @alanchenchen/httpproxyer`\n2. npm包内置两个原生node编写的插件，和两个实现了express中间件的插件。\n3. npm包默认导出一个对象，包含4个key，分别是：\n    * httpProxyer\n    * staticServer\n    * proxyMiddleware\n    * staticMiddleware\n\n## Options\n### httpProxyer\n#### httpProxyer对象方法\n导出一个对象，自带2个方法，每个方法调用一次都会返回一个ProxyHttp实例。\n\n1. createProxyServer 启用一个服务器事件监听器，必须调用listen方法才监听端口并代理转发。常用于正向代理。参数如下：\n    * opts `[Object]`，\n        *  target `[String]`。必须是代理服务器的http或https地址，例如：http://127.0.0.1:7070\n        *  inherit `[String]`。可选，转发请求是否继承当前target的query和hash信息\n2. proxy 代理转发已有服务器的请求,可以实现反向代理和负载均衡。参数如下：\n    * IncomingMessage `[可读流]`，Http Server类request事件的第一个参数req\n    * ServerResponse `[可写流]`，Http Server类request事件的第二个参数res\n    * opts `[Object]`，\n        *  target `[String]`。必须是代理服务器的http或https地址，例如：http://127.0.0.1:7070\n        *  inherit `[String]`。可选，转发请求是否继承当前target的query和hash信息\n\n#### ProxyHttp实例 \n1. ProxyHttp实例支持事件监听，通过`on(event, callback)`来调用，第一个参数是事件名，第二个参数是回调函数。目前支持3个事件钩子：\n    * `proxyRequest` 在转发请求之前触发，函数有2个参数\n        * proxyReq `[可写流]`，代理服务器请求目标服务器的数据，当调用`proxyReq.write()`方法或`proxyReq.end()`方法或`pipe(proxyReq)`会重写请求数据。否则默认转发客户端请求\n        * opts `[Object]`，包含请求头和请求url之类的信息对象，只读\n    * `proxyResponse` 在转发请求，目标服务器数据响应成功，返回响应数据到客户端之前触发，函数有3个参数\n        * proxyRes `[可写流]`，代理服务器返回给源请求的数据，当调用`proxyRes.write()`方法或`proxyRes.end()`方法或`pipe(proxyRes)`会重写返回数据。否则默认返回目标服务器响应数据\n        * res `[可读流]`，目标服务器返回给代理服务器的数据\n        * opts  `[Object]`，包含响应头和http状态码的信息对象，只读\n    * `proxyError` 在代理服务器接收客户端请求或转发请求发生错误时触发，函数有2个参数\n        * error `[Error]` 错误对象\n        * from `[String]` server或client其中一字符串。server表示错误发生在代理服务请求出错。client表示代理服务器接收客户端请求出错。  \n2. ProxyHttp实例自带一个`listen`方法，使用方法和node的http模块类似。\n3. ProxyHttp实例自带一个`close`方法，使用方法和node的http模块类似。可选一个回调函数，当关闭服务器后触发。\n\n### staticServer \n导出一个类，自带1个静态方法`start`。返回一个promise，then表示当前路径是否存在静态文件，会返回文件，reject表示当前路径不存在静态文件，会返回一个Error对象。参数如下：\n* IncomingMessage `[可读流]`，Http Server类request事件的第一个参数req\n* ServerResponse `[可写流]`，Http Server类request事件的第二个参数res\n* opts `[Object]`， 目前支持两个key。\n    * rootPath `[String]` 指定文件目录作为服务器根目录，默认为'/'，即进程运行的的目录\n    * homePage `[String]` 当req的url为'/'时跳转的首页文件，默认为'index.html'\n\n> 基于两个插件实现的express中间件`proxyMiddleware`和`staticMiddleware`用法同上面类似，可以去[example/express](./example/express/index.js)看详细例子。 \n\n## Unit tests\n* test目录里目前只有一个测试用例，分别测试了`httpProxyer`的`createProxyServer()`、`proxy()`和`on()`方法。\n* 测试框架为mocha，如果需要增加测试用例，操作如下：\n    1. `git clone git@github.com:alanchenchen/httpProxyer.git`\n    2. 在test目录里新增测试文件，约定测试文件必须是`*.test.js`后缀格式，必须在js后缀前加test后缀。\n    3. `yarn`或`npm install`安装开发依赖mocha\n    4. `npm test`在终端terminal查看测试结果\n\n## Attentions\n1. httpProxyer中如果输入target，代理转发时会取URL的protocol、hostname、port和path(包括query不包括hash)，当protocol为https时，port会被强制重写为443。当inherit为false，只取pathname(不包括query不包括hash)\n2. staticServer的rootPath合成的绝对路径会加上当前进程的绝对路径\n\n## license\n* Anti 996(996.ICU)\n","readmeFilename":"README.md"}