{"id":18638,"library":"orator-http-proxy","title":"orator-http-proxy","description":"HTTP proxy pass-through module for Orator service servers. It forwards incoming requests matching configured route prefixes to a backend destination URL. Works with Fable and Orator frameworks. Supports GET, PUT, POST, DELETE. Handles HTTP-to-HTTPS proxying. Version 1.0.5 is stable but low activity. Similar to http-proxy-middleware but specifically integrated with the Orator ecosystem.","status":"active","version":"1.0.5","language":"javascript","source_language":"en","source_url":"https://github.com/stevenvelozo/orator-http-proxy","tags":["javascript"],"install":[{"cmd":"npm install orator-http-proxy","lang":"bash","label":"npm"},{"cmd":"yarn add orator-http-proxy","lang":"bash","label":"yarn"},{"cmd":"pnpm add orator-http-proxy","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Underlying proxy library used to forward requests.","package":"http-proxy","optional":false},{"reason":"Peer dependency; the proxy integrates with Orator's service server.","package":"orator","optional":true}],"imports":[{"note":"Package is CommonJS only. ESM import is not supported.","wrong":"import libOratorHTTPProxy from 'orator-http-proxy';","symbol":"orator-http-proxy","correct":"const libOratorHTTPProxy = require('orator-http-proxy');"},{"note":"Method is available on the instantiated service provider, not directly exported.","wrong":"import { connectProxyRoutes } from 'orator-http-proxy';","symbol":"connectProxyRoutes","correct":"Fable.OratorHTTPProxy.connectProxyRoutes();"},{"note":"Must use addServiceType before instantiateServiceProvider.","wrong":"Fable.addService('OratorHTTPProxy', ...)","symbol":"service provider registration","correct":"Fable.serviceManager.addServiceType('OratorHTTPProxy', require('orator-http-proxy'));"}],"quickstart":{"code":"const libFable = require('fable');\nconst libOrator = require('orator');\nconst libOratorServiceServerRestify = require('orator-serviceserver-restify');\nconst libOratorHTTPProxy = require('orator-http-proxy');\n\nconst _Fable = new libFable({\n  Product: 'MyProxyServer',\n  ServicePort: 8080\n});\n\n_Fable.serviceManager.addServiceType('Orator', libOrator);\n_Fable.serviceManager.addServiceType('OratorServiceServer', libOratorServiceServerRestify);\n_Fable.serviceManager.instantiateServiceProvider('Orator');\n_Fable.serviceManager.instantiateServiceProvider('OratorServiceServer');\n\n_Fable.serviceManager.addServiceType('OratorHTTPProxy', libOratorHTTPProxy);\n_Fable.serviceManager.instantiateServiceProvider('OratorHTTPProxy', {\n  DestinationURL: 'http://backend-api:3000/',\n  RequestPrefixList: ['/api/v1/*']\n});\n\n_Fable.Orator.initialize(() => {\n  _Fable.OratorHTTPProxy.connectProxyRoutes();\n  _Fable.Orator.startService();\n});","lang":"javascript","description":"Sets up Orator with Restify and configures HTTP proxy to forward requests matching /api/v1/* to backend API."},"warnings":[{"fix":"Use require() instead of import.","message":"Package is CommonJS only. Using ES import syntax will result in an error.","severity":"gotcha","affected_versions":"*"},{"fix":"Install them manually: npm install fable orator orator-serviceserver-restify","message":"Orator, fable, and orator-serviceserver-restify are required as peer dependencies but not listed in package.json.","severity":"gotcha","affected_versions":"*"},{"fix":"Call connectProxyRoutes inside the initialize callback.","message":"Proxy routes must be connected after Orator is initialized and before startService.","severity":"gotcha","affected_versions":"*"},{"fix":"Check the Fable version used; ensure it's compatible with existing tests.","message":"Fable version compatibility unknown; may break if Fable major version bumps.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Ensure you call addServiceType('OratorHTTPProxy', libOratorHTTPProxy) before instantiateServiceProvider.","cause":"addServiceType or instantiateServiceProvider not called correctly.","error":"TypeError: _Fable.OratorHTTPProxy is undefined"},{"fix":"Install fable: npm install fable","cause":"Missing peer dependency 'fable'.","error":"Error: Cannot find module 'fable'"},{"fix":"Move connectProxyRoutes into the initialize callback function provided to _Fable.Orator.initialize().","cause":"connectProxyRoutes called outside initialize callback.","error":"Error: Must call initialize before connecting proxy routes"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}