Hi,
I had a component in Pier which included in a rendering message:
html div class: 'grey_copy14'; style:
'background-image:url(img/faq_title.gif);'
If you can ignore my poor style with inline css, when 'img/faq_title.gif'
wasn't present, PRPierFrame>>#notFound is called. This then caused a new
component to be created and my context to be reset (see my previous post
"sessions, continuation keys, restful urls and component state")
Even if we fix the new component creation but it still seems unnecessary
that for images #notFound resets the structure and view:
notFound
"This method is called whenever the current request cannot be resolved to a
structure."
self context: (self context
structure: self context root
view: PRNotFoundView)
I propose a fix to only redirect if the MimeType is non-binary, something
along the lines of
notFound
"This method is called whenever the current request cannot be resolved to a
structure."
self requestContext request mimeType isBinary ifTrue: [ self requestContext
responseGenerator notFound ]
self context: (self context
structure: self context root
view: PRNotFoundView)
Assuming others think this is a reasonable idea, a problem arises in that
WARequest doesn't implement #mimeType. I'd propose
refactoring WAExternalFileLibrary>>#mimetypeForRequest: and
WAFileLibrary>>#mimetypeFor:
Does that seem a reasonable course of action?
Nick