Commit c1fa0542 authored by Daniel Friesel's avatar Daniel Friesel
Browse files

Remove session / "save defaults" support due to caching issues

nginx cache keys depend on session data, so misbehaving clients
(ignoring the refresh dely and continuously requesting a new departure board)
with renewed session data could not be cached, impacting DBF performance
parent 03178c55
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -300,7 +300,6 @@ sub startup {
	$r->get('/map/:tripid/:lineno')->to('map#route');

	$self->defaults( layout => 'app' );
	$self->sessions->default_expiration( 3600 * 24 * 28 );

	$r->get('/')->to('stationboard#handle_request');
	$r->get('/multi/*station')->to('stationboard#handle_request');
+1 −22
Original line number Diff line number Diff line
@@ -512,7 +512,6 @@ sub handle_request {
	my $apiver         = $self->param('version')       // 0;
	my $callback       = $self->param('callback');
	my $with_related   = !$self->param('no_related');
	my $save_defaults  = $self->param('save_defaults') // 0;
	my $limit       = $self->param('limit') // 0;
	my @train_types = split( /,/, $self->param('train_types') // q{} );
	my %opt         = (
@@ -526,18 +525,6 @@ sub handle_request {
	  ? $Travel::Status::DE::IRIS::VERSION
	  : $Travel::Status::DE::HAFAS::VERSION;

	if ($save_defaults) {
		$self->session( has_data      => 1 );
		$self->session( mode          => $template );
		$self->session( hidelowdelay  => $hide_low_delay );
		$self->session( hide_opts     => $hide_opts );
		$self->session( show_realtime => $show_realtime );
		$self->session( admode        => $admode );
		$self->session( dark          => $dark_layout );
		$self->session( detailed      => $show_details );
		$self->session( no_related    => !$with_related );
	}

	$self->stash( departures => [] );
	$self->stash( title      => 'DBF' );
	$self->stash( version    => $dbf_version );
@@ -574,14 +561,6 @@ sub handle_request {
	}

	if ( not $station ) {
		if ( $self->session('has_data') ) {
			for my $param (
				qw(mode hidelowdelay hide_opts show_realtime admode no_related dark detailed)
			  )
			{
				$self->param( $param => $self->session($param) );
			}
		}
		$self->render( 'landingpage', show_intro => 1 );
		return;
	}
+0 −8
Original line number Diff line number Diff line
@@ -185,14 +185,6 @@ Bitte eine Station aus der Liste auswählen</div>
        </label>
      </div>
    </div>
    <div class="field">
      <div class="desc">
        %= check_box 'save_defaults' => 1, id => 'id_save_defaults'
        <label for="id_save_defaults">
        Ausgewählte Optionen als Default speichern
        </label>
      </div>
    </div>
    <div class="field">
      %= submit_button 'Anzeigen'
    </div>
+0 −8
Original line number Diff line number Diff line
@@ -175,14 +175,6 @@ Bitte eine Station aus der Liste auswählen</div>
        </label>
      </div>
    </div>
    <div class="field">
      <div class="desc">
        %= check_box 'save_defaults' => 1, id => 'id_save_defaults'
        <label for="id_save_defaults">
        Ausgewählte Optionen als Default speichern
        </label>
      </div>
    </div>
    <div class="field">
      %= submit_button 'Anzeigen'
    </div>