Я пытаюсь перейти с angular 4 на angular 5 и заменил http на httpclient и ранее использовал xsrfstrategy, в то время как с angular 4.Однако я не могу понять, что нужно использовать в этом месте для угловых 5. ## Теперь можно было бы внедрить службу в угловых 5, зная, что XSRFstrategy устарела в угловых 4
Angular 4 HeaderXSRF-стратегии.service.ts
import { Request, XSRFStrategy } from '@angular/http';
import { LocalStorageWrapperModule } from '../../shared/services/local-storage-module.service';
export class HeaderXSRFStrategy implements XSRFStrategy {
storage: LocalStorageWrapperModule = new LocalStorageWrapperModule();
constructor(private cookieName: string, private headerName: string) {
}
configureRequest(req: Request): void {
let token = this.storage.getSession(this.cookieName);
if (token) {
req.headers.append(this.headerName, token);
}
}
}
Использование:
import { NgModule, ModuleWithProviders } from '@angular/core';
import { XSRFStrategy } from '@angular/http';
import { HttpClientModule } from '@angular/common/http';
import { APP_BASE_HREF } from '@angular/common';
import { Router, RouterModule } from '@angular/router';
import { LoginModule } from '../login/login.module';
import { HomeComponent } from '../home/home.component';
import { RestModuleService } from '../core/core.module';
import { HeaderXSRFStrategy } from '../shared/services/header-XSRF-strategy.service';
import { LocalStorageWrapperModule } from '../core/core.module';
import { AuthService } from '../login/auth.service';
import { HOME_ROUTING, LeoCustomPreloader } from './home.routing';
import { FormsModule } from '@angular/forms';
@NgModule({
declarations: [
HomeComponent
],
imports: [
RouterModule,
HOME_ROUTING,
CommonModule,
HttpClientModule,
FormsModule
],
providers: [
AuthService,
RestModuleService,
LocalesService,
LocalStorageWrapperModule,
{ provide: LOCALE_ID, useValue: LOCALE },
{ provide: XSRFStrategy, useFactory: xsrfHeaderStrategy },
Location
],
bootstrap: [HomeComponent]
})
export class HomeModule {
constructor(
private authService: AuthService,
private router: Router
)
{
// Retrieve userPrivStr from session storage for loggedin user
// Already logged in, so go to the default target
router.navigate([authService.getTargetURL()]);
}
}
}
export function xsrfHeaderStrategy() {
return new HeaderXSRFStrategy(CSRF_NAME, CSRF_NAME);
}
Я видел HttpClientXsrfModule для angular 5, как его использовать, чтобы внедрить сервис, который мы пишем как iиметь в случае метода configureRequest () выше