On Fri, Feb 26, 2010 at 4:38 PM, Thomas Nunninger <tho...@nunninger.info> wrote:
> Hi,
>
> after updating some content in my application, I want to redirect with a 303
> HTTP response code. If I use ezcMvcExternalRedirect it uses a very unspecific
> 302 code. In HTTP 1.1 you could use 301 and 307 instead of 302.
>
> The German wikipedia (http://de.wikipedia.org/wiki/HTTP-Statuscode) even
> states not to use the 302 redirect when redirecting to other sites because of
> an search engine error (URL hijacking).
>
> Finally I think, I should not patch ezcMvcExternalRedirect but extend it with
> semantic meanings like "content updated, show normal view", "content is
> available on other location" and so on.
>
> But I even need some patch like:
>
> --- response_writers/http.php   (Revision 94)
> +++ response_writers/http.php   (Arbeitskopie)
> @@ -73,7 +73,14 @@
>         // write output
>         foreach ( $this->headers as $header => $value )
>         {
> -            header( "$header: $value" );
> +            if ( !is_array( $value ) )
> +            {
> +                header( "$header: $value" );
> +            }
> +            else
> +            {
> +                header( "$header: {$value[0]}", true, $value[1] );
> +            }
>         }
>         // do cookies
>         foreach ( $this->response->cookies as $cookie )
>
> If the value of the header is an array, the second entry is the status code.
> Otherwise, everything behaves like before.
>
> The code seems to be a little bit hackish (because of the semantic in a simple
> array struct). But I don't have another idea without breaking BC.
>
> What do you think?

Wouldn't it be nice to add an $httpCode attribute to ezcMvcResponse
and use it in ezcMvcHttpResponseWriter?

Regards

-- 
http://jamespic.com/contact
Customer is king - Le client est roi - El cliente es rei.
-- 
Components mailing list
Components@lists.ez.no
http://lists.ez.no/mailman/listinfo/components

Reply via email to