Ticket #629 (closed defect: fixed)

Opened 12 months ago

Last modified 12 months ago

createForwardContainer() doesn't honor the output type completly.

Reported by: Manuel Giesa Owned by: david
Priority: normal Milestone: 0.11.1
Component: response Version: 0.11.0
Severity: major Keywords:
Cc: Patch attached:

Description

If i use a forward container to forward to another output type, the http-headers aren't set for the target output type and the old ones are kept. In the following case the 404 XML will be delivered as application/octet-stream.

public function executeBinary(AgaviRequestDataHolder $rd) {
    return $this->createForwardContainer(AgaviConfig::get('action.error_404.module'),     
                                  AgaviConfig::get('action.error_404.action'), array(), 'xml');
}

Releveant settings for both output types: xml:

<parameter name="Content-Type">application/xml; charset=UTF-8</parameter>

binary:

<parameter name="Content-Type">application/octet-stream</parameter>

Attachments

ticket629case.patch (2.0 KB) - added by david 12 months ago.
Reproduce case. Call /login.txt too see the issue.

Change History

Changed 12 months ago by david

  • status changed from new to assigned
  • version changed from HEAD to 0.11.0
  • component changed from _OTHER_ to response
  • severity changed from normal to major
  • milestone set to 0.11.1

Changed 12 months ago by david

Reproduce case. Call /login.txt too see the issue.

Changed 12 months ago by david

  • status changed from assigned to closed
  • resolution set to fixed

(In [2205]) Fixed an issue where output types of forwards were not honored completely. Closes #629. Also redone the global request data locking during template rendering and fixed global request data serialization in execution containers. Closes #628 and #633. This change adds an output type member to response. Use that to check for the actual response content type, not the one in the execution container - it's more reliable. See changes done to FPF and ETF in this commit.

Add/Change #629 (createForwardContainer() doesn't honor the output type completly.)

Author



Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.