Skip to content

Commit f293c59

Browse files
authored
Merge pull request #21 from ajthinking/main
Add default defineEndpoint in base SaloonRequest
2 parents d5bbca4 + fa2b636 commit f293c59

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

src/Http/SaloonRequest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,16 @@ public function getFullRequestUrl(): string
136136
return $baseEndpoint . $requestEndpoint;
137137
}
138138

139+
/**
140+
* Define the endpoint for the request.
141+
*
142+
* @return string
143+
*/
144+
public function defineEndpoint(): string
145+
{
146+
return '';
147+
}
148+
139149
/**
140150
* Check if a trait exists on the connector.
141151
*
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Sammyjo20\Saloon\Tests\Resources\Requests;
4+
5+
use Sammyjo20\Saloon\Constants\Saloon;
6+
use Sammyjo20\Saloon\Http\SaloonRequest;
7+
use Sammyjo20\Saloon\Tests\Resources\Connectors\TestConnector;
8+
9+
class DefaultEndpointRequest extends SaloonRequest
10+
{
11+
/**
12+
* Define the method that the request will use.
13+
*
14+
* @var string|null
15+
*/
16+
protected ?string $method = Saloon::POST;
17+
18+
/**
19+
* The connector.
20+
*
21+
* @var string|null
22+
*/
23+
protected ?string $connector = TestConnector::class;
24+
}

tests/Unit/RequestTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Sammyjo20\Saloon\Tests\Resources\Connectors\ExtendedConnector;
1111
use Sammyjo20\Saloon\Tests\Resources\Requests\InvalidResponseClass;
1212
use Sammyjo20\Saloon\Exceptions\SaloonInvalidResponseClassException;
13+
use Sammyjo20\Saloon\Tests\Resources\Requests\DefaultEndpointRequest;
1314
use Sammyjo20\Saloon\Tests\Resources\Requests\InvalidConnectorRequest;
1415
use Sammyjo20\Saloon\Exceptions\SaloonNoMockResponsesProvidedException;
1516
use Sammyjo20\Saloon\Tests\Resources\Requests\ExtendedConnectorRequest;
@@ -113,3 +114,7 @@
113114

114115
expect($invalidConnectorClassRequest->getResponseClass());
115116
});
117+
118+
test('defineEndpoint method may be omited in request class to use the base url')
119+
->expect(new DefaultEndpointRequest)
120+
->getFullRequestUrl()->toBe(apiUrl());

0 commit comments

Comments
 (0)