Skip to content

gizm0bill/gzm

Repository files navigation

gzm

tests

Error example

@Error( ( apiService: ApiService, error: HttpErrorResponse, _, caught: Observable<any> ) => 
{
  if ( error.status === 401 ) // clear login, re-login and replay
    return apiService.clearToken().token(  ).pipe( switchMap( () => caught ) );
  return throwError( () => error );
} )
export class ApiService extends AbstractApiClient
{
  @Cache( Infinity )
  @POST( 'http://some.location/authenticate' )
  token( @Body( 'username') username: string, @Body( 'password') password: string ): Observable<HttpResponse<any>> { return NEVER; }
  
  @CacheClear<ApiService>( 'token' )
  clearToken() { return this; }

  @Headers( ( apiService: ApiService ) => apiService.token() )
  @POST( 'http://some.location/list' )
  list(): Observable<any[]> {
  
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published