如何在Angular Dart中构建HttpInterceptor服务?
我正在尝试将Angular 2应用程序的代码移植到Angular Dart,以便在Flatter中重用业务逻辑。 我的应用程序使用HttpInterceptors进行错误处理和服务器授权 在typescript中,我将注入一个简单的服务:如何在Angular Dart中构建HttpInterceptor服务?,dart,angular-dart,Dart,Angular Dart,我正在尝试将Angular 2应用程序的代码移植到Angular Dart,以便在Flatter中重用业务逻辑。 我的应用程序使用HttpInterceptors进行错误处理和服务器授权 在typescript中,我将注入一个简单的服务: @Injectable({ providedIn: 'root' }) export class InterceptorService implements HttpInterceptor { intercept(req: HttpRequest<
@Injectable({
providedIn: 'root'
})
export class InterceptorService implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return;
}
constructor(private auth: AuthService) { }
intercept(
req: HttpRequest<any>,
next: HttpHandler
): Observable<HttpEvent<any>> {}
}
@可注入({
providedIn:'根'
})
导出类拦截器服务实现HttpInterceptor{
intercept(req:HttpRequest)但它可以追溯到5年前,在这段时间内,它的实现方式可能已经发生了很大的变化。事实证明,有几种方法可以在角度飞镖/颤振中实现这一点
一些构建在dart http之上的第三方库为http拦截(,)提供了方便的方法。但是,两者都在客户端级别处理拦截
我决定使用Dart Http库,使用:
类UserAgentClient扩展了http.BaseClient{
最终字符串用户代理;
最终http.Client\u-inner;
UserAgentClient(this.userAgent,this.\u内部);
未来发送(BaseRequest请求){
request.headers['user-agent']=userAgent;
返回-内部发送(请求);
}
}
class UserAgentClient extends http.BaseClient {
final String userAgent;
final http.Client _inner;
UserAgentClient(this.userAgent, this._inner);
Future<StreamedResponse> send(BaseRequest request) {
request.headers['user-agent'] = userAgent;
return _inner.send(request);
}
}