Browse Source

#badRequest:[entity:] can create mock reponse.

Passing nil as first arg uses the actual request, late-bound fashion.
Herby Vojčík 6 years ago
parent
commit
eaba707ec7
2 changed files with 25 additions and 0 deletions
  1. 7 0
      src/Znock/ZnResponse.extension.st
  2. 18 0
      src/Znock/ZnockBase.class.st

+ 7 - 0
src/Znock/ZnResponse.extension.st

@@ -0,0 +1,7 @@
+Extension { #name : #ZnResponse }
+
+{ #category : #'*Znock' }
+ZnResponse >> customizeFrom: otherZnResponse [
+	self statusLine: otherZnResponse statusLine.
+	self entity ifNil: [ self entity: otherZnResponse entity ]
+]

+ 18 - 0
src/Znock/ZnockBase.class.st

@@ -18,6 +18,24 @@ ZnockBase class >> in: aZnock url: aZnUrl [
 		yourself
 ]
 
+{ #category : #public }
+ZnockBase >> badRequest: aZnRequest [
+	aZnRequest
+		ifNotNil: [ self response: (ZnResponse badRequest: aZnRequest) ]
+		ifNil: [ self response: (ZnResponse statusLine: ZnStatusLine ok).
+			builtClient customizeResponseBlock: [ :req :res |
+				res customizeFrom: (ZnResponse badRequest: req) ] ]
+]
+
+{ #category : #public }
+ZnockBase >> badRequest: aZnRequest entity: aZnEntity [
+	aZnRequest
+		ifNotNil: [ self response: (ZnResponse badRequest: aZnRequest entity: aZnEntity) ]
+		ifNil: [ self response: (ZnResponse statusLine: ZnStatusLine ok).
+			builtClient customizeResponseBlock: [ :req :res |
+				res customizeFrom: (ZnResponse badRequest: req entity: aZnEntity) ] ]
+]
+
 { #category : #accessing }
 ZnockBase >> baseUrl [
 	^ baseUrl