3
3
4
4
use Enqueue \Client \CommandSubscriberInterface ;
5
5
use Enqueue \Consumption \QueueSubscriberInterface ;
6
+ use Enqueue \Consumption \Result ;
6
7
use Interop \Queue \PsrContext ;
7
8
use Interop \Queue \PsrMessage ;
8
9
use Interop \Queue \PsrProcessor ;
@@ -29,14 +30,10 @@ public function __construct(ProviderRegistry $providerRegistry)
29
30
*/
30
31
public function process (PsrMessage $ message , PsrContext $ context )
31
32
{
32
- if (false == $ message ->getReplyTo ()) {
33
- return self ::REJECT ;
34
- }
35
-
36
33
if ($ message ->isRedelivered ()) {
37
- $ this ->sendReply ($ context , $ message , false );
34
+ $ this ->createReplyMessage ($ context , $ message , false );
38
35
39
- return self :: REJECT ;
36
+ return Result:: reply ( $ this -> createReplyMessage ( $ context , $ message , false ), Result:: REJECT ) ;
40
37
}
41
38
42
39
try {
@@ -45,29 +42,25 @@ public function process(PsrMessage $message, PsrContext $context)
45
42
$ provider = $ this ->providerRegistry ->getProvider ($ options ['indexName ' ], $ options ['typeName ' ]);
46
43
$ provider ->populate (null , $ options );
47
44
48
- $ this ->sendReply ($ context , $ message , true );
49
-
50
- return self ::ACK ;
45
+ return Result::reply ($ this ->createReplyMessage ($ context , $ message , true ));
51
46
} catch (\Exception $ e ) {
52
- $ this ->sendReply ($ context , $ message , false );
53
-
54
- return self ::REJECT ;
47
+ return Result::reply ($ this ->createReplyMessage ($ context , $ message , false ), Result::REJECT );
55
48
}
56
49
}
57
50
58
51
/**
59
52
* @param PsrContext $context
60
53
* @param PsrMessage $message
61
54
* @param bool $successful
55
+ *
56
+ * @return PsrMessage
62
57
*/
63
- private function sendReply (PsrContext $ context , PsrMessage $ message , $ successful )
58
+ private function createReplyMessage (PsrContext $ context , PsrMessage $ message , $ successful )
64
59
{
65
60
$ replyMessage = $ context ->createMessage ($ message ->getBody (), $ message ->getProperties (), $ message ->getHeaders ());
66
61
$ replyMessage ->setProperty ('fos-populate-successful ' , (int ) $ successful );
67
62
68
- $ replyQueue = $ context ->createQueue ($ message ->getReplyTo ());
69
-
70
- $ context ->createProducer ()->send ($ replyQueue , $ replyMessage );
63
+ return $ replyMessage ;
71
64
}
72
65
73
66
/**
0 commit comments