como atualizar o token de acesso usando http personalizado no angular 2?

Estou usando autenticação baseada em token no meu aplicativo. Meu back-end é desenvolvido usando o serviço de descanso (primavera) .O código de back-end está gerando muito bem o token de acesso necessário e os tokens de atualização com as linhas de tempo, portanto, substitui a classe http pelo seguinte:

export class customHttp extends Http {
   headers: Headers = new Headers({ 'Something': 'Something' });
    options1: RequestOptions = new RequestOptions({ headers: this.headers });
    private refreshTokenUrl = AppSettings.REFRESH_TOKEN_URL;
    constructor(backend: ConnectionBackend,
        defaultOptions: RequestOptions,private refresh:OauthTokenService) {
        super(backend, defaultOptions);
    }
    request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
    console.log("custom http ");
        return super.request(url, options)
            .catch((err) => {
                if (err.status === 401) {
                    console.log(" custome http 401 ");
                    //   refresh the token
                    this.refresh.refresh().subscribe((tokenObj)=>{
                              console.log("tokenobj ");
                    })
                 } else {
                    console.log("err " + err);
                }
            }); } } 

Estou ficando paralisado ao atualizar o token no método refresh (), pois estou recebendo um erro de dependência cíclica, então tentei usar o serviço de atualização em outro módulo, mas sem sorte. Estou usando a mesma abordagem mencionada nesteManipulando tokens de atualização usando rxjs Qualquer ajuda seria ótimo!

questionAnswers(3)

yourAnswerToTheQuestion