Data-Plane HTTP Failure Status Response Proxy #4774
Replies: 1 comment
-
There is also another option, which is to deprecate and eventually remove the mappings, and for people who want to have proxy behavior, have them write a custom controller extension for the data plane that does not use the DPF. Instead, this controller would proxy directly using an HTTP client. This would be a simple solution and could likely be optimized. Trying to shoe-horn proxy behavior into the DPF will likely lead to special-case code that is much more complex than writing a simple controller. We also need to consider this in the context of a longer-term strategy and plan for data planes. For example, the current Kafka solution is not suitable for high-volume environments. In addition, we should look at potentially moving the provisioning process to the data plane by using Data Plane Signalling. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
This proposal aims to enable the Data Plane to proxy failed status responses and response bodies back to the consumer
whenever the provider decides to do so for specific assets when using the
HttpData-PULL
transfer type.Current Situation
The
HttpData-PULL
transfer type is handled differently from PUSH-based transfer types. Specifically, certain featuresonly work with the
HttpData
source type (HTTP-to-HTTP PULL):proxyBody
proxyPath
proxyMethod
proxyQueryParams
These properties, when set in the source
DataAddress
, allow the provider to "grant power" to the consumer by proxyingthe request body, path, method, and query parameters to the source. However, this can introduce security risks if not
used carefully.
Additionally,
HttpData-PULL
has another notable limitation: it does not support multiplePart
s on the source side.Only the first
Part
is returned to the consumer, while all others are ignored. As a result, this transfer type isunsuitable when the source refers to multiple files (e.g., a bucket folder).
Proposal Options
1. Introduce
proxyResponseStatus
(or similar)A new attribute would enable the provider to allow specific response codes to be forwarded to the consumer.
2. Remove
proxyXXX
Attributes and Introduce Extensible Request/Response MappingInstead of predefined
proxyXXX
attributes, make request and response mapping extensible, allowing adopters to introduceproxy features to their Data Plane without reimplementing everything from scratch.
3. Do Nothing
Adopters requiring this functionality would need to implement their own Data Plane from scratch.
proxy. This could cause misunderstandings—such as the assumption behind this feature request:
If the Data Plane can proxy the request, why can’t it proxy the response?
Beta Was this translation helpful? Give feedback.
All reactions