{"record":{"id":"dcb53a922481b67b","repo":"pathwaycom/pathway","slug":"if-webserver-object-isn-t-specified-host-and-port","errorCode":null,"errorMessage":"If webserver object isn't specified, host and port must be present","messagePattern":"If webserver object isn't specified, host and port must be present","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/pathway/io/http/_server.py","lineNumber":840,"sourceCode":"                + \" It will soon be required.\"\n            )\n            delete_completed_queries = True\n        else:\n            warn(\n                \"DEPRECATED: keep_queries arg of rest_connector is deprecated,\"\n                + \" use delete_completed_queries with an opposite meaning instead.\"\n            )\n            delete_completed_queries = not keep_queries\n\n    if schema is None:\n        format = \"raw\"\n        schema = pw.schema_builder({\"query\": pw.column_definition()})\n    else:\n        format = \"custom\"\n\n    if webserver is None:\n        if host is None or port is None:\n            raise ValueError(\n                \"If webserver object isn't specified, host and port must be present\"\n            )\n        if isinstance(port, str):\n            port = int(port)\n        warn(\n            \"The `host` and `port` arguments are deprecated. Please use `webserver` \"\n            \"instead.\",\n            DeprecationWarning,\n            stacklevel=2,\n        )\n        webserver = PathwayWebserver(host, port)\n    else:\n        if host is not None or port is not None:\n            raise ValueError(\n                \"If webserver object is specified, host and port shouldn't be set\"\n            )\n\n    input_table = io.python.read(","sourceCodeStart":822,"sourceCodeEnd":858,"githubUrl":"https://github.com/pathwaycom/pathway/blob/fa2f74a4649b7c5908690cf60137263d8d80de5f/python/pathway/io/http/_server.py#L822-L858","documentation":"pw.io.http.rest_connector requires a server to attach the REST endpoint to. You must either pass an existing PathwayWebserver object via the webserver argument, or supply both host and port so the connector can create one. This ValueError is raised when webserver is None and at least one of host/port is also None.","triggerScenarios":"Calling rest_connector(route='/uppercase', schema=WordsSchema) with no webserver, host, or port; or passing only host='127.0.0.1' without port; or passing port=9999 as positional/keyword without host.","commonSituations":"Migrating from an older Pathway version where host/port were the only API and then removing them during the webserver migration; forgetting that both host AND port are required together; copy-pasting examples that create the webserver separately but never passing it in.","solutions":["Preferred: create and pass a webserver: webserver = pw.io.http.PathwayWebserver(host='127.0.0.1', port=9999) then rest_connector(webserver=webserver, ...).","Alternatively supply both host and port directly: rest_connector(host='127.0.0.1', port=9999, ...) (emits a DeprecationWarning).","Reuse the same webserver object for multiple endpoints on the same host/port instead of creating new ones."],"exampleFix":"# before\nwords, rw = pw.io.http.rest_connector(route=\"/uppercase\", schema=WordsSchema)\n# after\nwebserver = pw.io.http.PathwayWebserver(host=\"127.0.0.1\", port=9999)\nwords, rw = pw.io.http.rest_connector(webserver=webserver, route=\"/uppercase\", schema=WordsSchema)","handlingStrategy":"validation","validationCode":"def validate_connector_endpoint(webserver, host, port):\n    if webserver is None and (host is None or port is None):\n        raise SystemExit(\"Provide a PathwayWebserver or both host and port.\")\n\nvalidate_connector_endpoint(webserver, host, port)\nwords, rw = pw.io.http.rest_connector(webserver=webserver, route=\"/r\", schema=S)","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Standardize on PathwayWebserver objects in all new code.","Create the webserver once at app setup and pass it to every rest_connector call.","Treat host/port as deprecated — do not add them to new code."],"tags":["http","rest-connector","configuration","pathway"],"backgroundTag":null,"analyzedSha":"fa2f74a4649b7c5908690cf60137263d8d80de5f","analyzedAt":"2026-08-15T01:48:17.006Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}