Add SELF_DESTRUCT env variable to process self-destructions in the background (#26439)
This commit is contained in:
		
					parent
					
						
							
								26d2a2a0cc
							
						
					
				
			
			
				commit
				
					
						379115e601
					
				
			
		
					 22 changed files with 193 additions and 57 deletions
				
			
		|  | @ -12,6 +12,7 @@ class ApplicationController < ActionController::Base | |||
|   include DomainControlHelper | ||||
|   include DatabaseHelper | ||||
|   include AuthorizedFetchHelper | ||||
|   include SelfDestructHelper | ||||
| 
 | ||||
|   helper_method :current_account | ||||
|   helper_method :current_session | ||||
|  | @ -39,6 +40,8 @@ class ApplicationController < ActionController::Base | |||
|     service_unavailable | ||||
|   end | ||||
| 
 | ||||
|   before_action :check_self_destruct! | ||||
| 
 | ||||
|   before_action :store_referrer, except: :raise_not_found, if: :devise_controller? | ||||
|   before_action :require_functional!, if: :user_signed_in? | ||||
| 
 | ||||
|  | @ -170,6 +173,15 @@ class ApplicationController < ActionController::Base | |||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def check_self_destruct! | ||||
|     return unless self_destruct? | ||||
| 
 | ||||
|     respond_to do |format| | ||||
|       format.any  { render 'errors/self_destruct', layout: 'auth', status: 410, formats: [:html] } | ||||
|       format.json { render json: { error: Rack::Utils::HTTP_STATUS_CODES[410] }, status: code } | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def set_cache_control_defaults | ||||
|     response.cache_control.replace(private: true, no_store: true) | ||||
|   end | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue