If you’re just proxying ServiceStack requests and you want to be able to intercept the Request DTOs in C# I’d recommend using the IServiceGateway which will give you the most flexibility in which configured Service Client gets used to send the request, e.g:
public override void Configure(Container container)
container.Register<IServiceGateway>(c => new JsonServiceClient(externalBaseUrl));
public class ProxyServices : Service
public Task<object> Any(MyRequest1 request) => Gateway.SendAsync(request);
public Task<object> Any(MyRequest2 request) => Gateway.SendAsync(request);
If you annotate your Request DTOs with HTTP Verb Interface Markers then you can use Any to Send every Request DTO and it will be sent with that HTTP Method.