From e18b2a262c58cf50c90f480bb06f075ec785fb30 Mon Sep 17 00:00:00 2001 From: Nicolas Petton Date: Mon, 22 Jun 2009 00:32:14 +0000 Subject: [PATCH] Using a new approch for Object>>asResponse using #respondOn: and #displayOn: instead of #printOn: by Stefan Schmiedl --- Core/Builders/Action.st | 6 +++--- Core/Builders/Application.st | 6 +++--- Core/Builders/Builder.st | 6 +++--- Core/Builders/Extensions.st | 16 ++++++---------- Core/Elements/Element.st | 14 ++++---------- 5 files changed, 19 insertions(+), 29 deletions(-) diff --git a/Core/Builders/Action.st b/Core/Builders/Action.st index ea5ee23..4067e22 100644 --- a/Core/Builders/Action.st +++ b/Core/Builders/Action.st @@ -77,8 +77,8 @@ IliadObject subclass: Action [ ^self block cull: self value ] - asResponse [ - - ^self value asResponse + respondOn: aResponse [ + + ^self value displayOn: aResponse ] ] diff --git a/Core/Builders/Application.st b/Core/Builders/Application.st index f78d6de..82e3c5d 100644 --- a/Core/Builders/Application.st +++ b/Core/Builders/Application.st @@ -286,11 +286,11 @@ the application mode: ^[:e | ] ] - asResponse [ - + respondOn: aResponse [ + self build. self updatePage. - ^self page asResponse + self page respondOn: aResponse ] defaultPageClass [ diff --git a/Core/Builders/Builder.st b/Core/Builders/Builder.st index b19a1de..0a20654 100644 --- a/Core/Builders/Builder.st +++ b/Core/Builders/Builder.st @@ -89,9 +89,9 @@ My subclasses must override the #build method, which should return an instance o self application redirectToLocal: aString ] - asResponse [ - - ^self build asResponse + respondOn: aResponse [ + + self build respondOn: aResponse ] ] diff --git a/Core/Builders/Extensions.st b/Core/Builders/Extensions.st index 5a6b262..2818605 100644 --- a/Core/Builders/Extensions.st +++ b/Core/Builders/Extensions.st @@ -39,18 +39,14 @@ Object extend [ asResponse [ - ^Iliad.Response ok - nextPutAll: self printString; - yourself + | response | + response := Iliad.Response ok. + self respondOn: response. + ^response ] -] -String extend [ - - asResponse [ + respondOn: aResponse [ - ^Iliad.Response ok - nextPutAll: self; - yourself + self displayOn: aResponse ] ] diff --git a/Core/Elements/Element.st b/Core/Elements/Element.st index 6c9c7d0..490426e 100644 --- a/Core/Elements/Element.st +++ b/Core/Elements/Element.st @@ -177,15 +177,9 @@ I know how to print myself in HTML format with the #printHtmlOn: method'> ^(AttributeNotUnderstood element: self attribute: aString) signal ] - asResponse [ - - | str | - str := WriteStream on: ''. - self printHtmlOn: str. - children := OrderedCollection new. - ^Response ok - contentType: self contentType; - nextPutAll: str contents; - yourself + respondOn: aResponse [ + + self printHtmlOn: aResponse. + aResponse contentType: self contentType ] ]