@@ -35,8 +35,9 @@ defmodule Phoenix do
3535  @ doc  false 
3636  def  start ( _type ,  _args )  do 
3737    # Warm up caches 
38-     _  =  Phoenix.Template . engines 
38+     _  =  Phoenix.Template . engines ( ) 
3939    _  =  Phoenix.Template . format_encoder ( "index.html" ) 
40+     warn_on_missing_format_encoders ( ) 
4041
4142    # Configure proper system flags from Phoenix only 
4243    if  stacktrace_depth  =  Application . get_env ( :phoenix ,  :stacktrace_depth )  do 
@@ -47,8 +48,6 @@ defmodule Phoenix do
4748    import  Supervisor.Spec 
4849
4950    children  =  [ 
50-       # Ensure format encoders are loaded before starting 
51-       worker ( Task ,  [ fn  ->  ensure_format_encoders ( )  end ] ,  restart:  :transient ) , 
5251      # Code reloading must be serial across all Phoenix apps 
5352      worker ( Phoenix.CodeReloader.Server ,  [ ] ) 
5453    ] 
@@ -57,15 +56,16 @@ defmodule Phoenix do
5756  end 
5857
5958  @ doc  false 
59+   # TODO remove Poison default in 2.0 
6060  def  json  do 
6161    :phoenix 
6262    |>  Application . fetch_env! ( :format_encoders ) 
63-     |>  Keyword . get ( :json ,  Jason ) 
63+     |>  Keyword . get ( :json ,  Poison ) 
6464  end 
6565
66-   defp  ensure_format_encoders  do 
66+   defp  warn_on_missing_format_encoders  do 
6767    for  { format ,  mod }  <-  Application . fetch_env! ( :phoenix ,  :format_encoders )  do 
68-       Code . ensure_loaded? ( mod )  ||  raise  """ 
68+       Code . ensure_loaded? ( mod )  ||  IO . write   :sterr ,  """ 
6969      failed to load #{ inspect ( mod ) } #{ format }  
7070      (module #{ inspect ( mod ) }  
7171
0 commit comments