Skip to content

Commit 9c2d95a

Browse files
committed
Merge pull request #37 from SamHausmann/RCB-396
removed check version module and added new check version headers. upd…
2 parents ccff1fe + 3d91a7d commit 9c2d95a

File tree

2 files changed

+15
-73
lines changed

2 files changed

+15
-73
lines changed

source/rosette/api/Api.php

Lines changed: 3 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,6 @@ class Api
6868
*/
6969
private $headers;
7070

71-
/**
72-
* True if the version has already been checked. Saves round trips.
73-
*
74-
* @var bool
75-
*/
76-
private $version_checked;
77-
7871
/**
7972
* Endpoint for the operation.
8073
*
@@ -126,12 +119,13 @@ public function __construct($user_key, $service_url = 'https://api.rosette.com/
126119
"Content-Type: application/json",
127120
"Accept: application/json",
128121
"Accept-Encoding: gzip",
129-
"User-Agent: RosetteAPIPHP/" . self::$binding_version, );
122+
"User-Agent: RosetteAPIPHP/" . self::$binding_version,
123+
"X-RosetteAPI-Binding: php",
124+
"X-RosetteAPI-Binding-Version: " . self::$binding_version );
130125

131126
$this->setServiceUrl($service_url);
132127
$this->setDebug(false);
133128
$this->setTimeout(300);
134-
$this->version_checked = false;
135129
$this->subUrl = null;
136130
$this->max_retries = 5;
137131
$this->ms_between_retries = 500000;
@@ -286,7 +280,6 @@ private function replaceHeaderItem($old_header_item, $new_header_item)
286280
*/
287281
private function callEndpoint($parameters, $subUrl)
288282
{
289-
$this->checkVersion($this->service_url);
290283
$this->subUrl = $subUrl;
291284
$resultObject = '';
292285

@@ -322,44 +315,6 @@ private function callEndpoint($parameters, $subUrl)
322315
return $resultObject;
323316
}
324317

325-
/**
326-
* Checks the server version against the api (or provided )version.
327-
*
328-
* @param $url
329-
* @param $versionToCheck
330-
*
331-
* @return bool
332-
*
333-
* @throws RosetteException
334-
*/
335-
private function checkVersion($url, $versionToCheck = null)
336-
{
337-
if (!$this->version_checked) {
338-
if (!$versionToCheck) {
339-
$versionToCheck = self::$binding_version;
340-
}
341-
$resultObject = $this->postHttp($url . "info?clientVersion=$versionToCheck", $this->headers, null);
342-
343-
// should not get called due to makeRequest checks, but just in case, we want to
344-
// avoid an incompatible version error when it's something else.
345-
if ($this->getResponseCode() !== 200) {
346-
throw new RosetteException($resultObject['message'], $this->getResponseCode());
347-
}
348-
349-
if (array_key_exists('versionChecked', $resultObject) && $resultObject['versionChecked'] === true) {
350-
$this->version_checked = true;
351-
} else {
352-
throw new RosetteException(
353-
'The server version is not compatible with binding version ' . strval($versionToCheck),
354-
RosetteException::$INCOMPATIBLE_VERSION
355-
);
356-
}
357-
}
358-
359-
return $this->version_checked;
360-
}
361-
362-
363318
/**
364319
* function makeRequest.
365320
*

spec/rosette/api/ApiSpec.php

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public function it_calls_the_language_endpoint($params, $request)
7676
$request->beADoubleOf('rosette\api\RosetteRequest');
7777
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
7878
$request->getResponseCode()->willReturn(200);
79-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
79+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
8080

8181
$this->setMockRequest($request);
8282
$this->language($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -90,7 +90,7 @@ public function it_calls_the_sentences_endpoint($params, $request)
9090
$request->beADoubleOf('rosette\api\RosetteRequest');
9191
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
9292
$request->getResponseCode()->willReturn(200);
93-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
93+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
9494

9595
$this->setMockRequest($request);
9696
$this->sentences($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -104,7 +104,7 @@ public function it_calls_the_tokens_endpoint($params, $request)
104104
$request->beADoubleOf('rosette\api\RosetteRequest');
105105
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
106106
$request->getResponseCode()->willReturn(200);
107-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
107+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
108108

109109
$this->setMockRequest($request);
110110
$this->tokens($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -118,7 +118,7 @@ public function it_calls_the_morphology_endpoint($params, $request)
118118
$request->beADoubleOf('rosette\api\RosetteRequest');
119119
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
120120
$request->getResponseCode()->willReturn(200);
121-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
121+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
122122

123123
$this->setMockRequest($request);
124124
$this->morphology($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -140,7 +140,7 @@ public function it_calls_the_entities_endpoint($params, $request)
140140
$request->beADoubleOf('rosette\api\RosetteRequest');
141141
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
142142
$request->getResponseCode()->willReturn(200);
143-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
143+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
144144

145145
$this->setMockRequest($request);
146146
$this->entities($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -154,7 +154,7 @@ public function it_calls_the_entities_linked_endpoint($params, $request)
154154
$request->beADoubleOf('rosette\api\RosetteRequest');
155155
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
156156
$request->getResponseCode()->willReturn(200);
157-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
157+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
158158

159159
$this->setMockRequest($request);
160160
$linked = true;
@@ -169,7 +169,7 @@ public function it_calls_the_categories_endpoint($params, $request)
169169
$request->beADoubleOf('rosette\api\RosetteRequest');
170170
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
171171
$request->getResponseCode()->willReturn(200);
172-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
172+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
173173

174174
$this->setMockRequest($request);
175175
$this->categories($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -183,7 +183,7 @@ public function it_calls_the_sentiment_endpoint($params, $request)
183183
$request->beADoubleOf('rosette\api\RosetteRequest');
184184
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
185185
$request->getResponseCode()->willReturn(200);
186-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
186+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
187187

188188
$this->setMockRequest($request);
189189
$this->sentiment($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -197,7 +197,7 @@ public function it_calls_using_multipart($params, $request)
197197
$request->beADoubleOf('rosette\api\RosetteRequest');
198198
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
199199
$request->getResponseCode()->willReturn(200);
200-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
200+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
201201

202202
$this->setMockRequest($request);
203203
$this->sentiment($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -210,7 +210,7 @@ public function it_calls_the_name_translation_endpoint($params, $request)
210210
$request->beADoubleOf('rosette\api\RosetteRequest');
211211
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
212212
$request->getResponseCode()->willReturn(200);
213-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
213+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
214214

215215
$this->setMockRequest($request);
216216
$this->nameTranslation($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -223,7 +223,7 @@ public function it_calls_the_name_similarity_endpoint($params, $request)
223223
$request->beADoubleOf('rosette\api\RosetteRequest');
224224
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
225225
$request->getResponseCode()->willReturn(200);
226-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
226+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
227227

228228
$this->setMockRequest($request);
229229
$this->nameSimilarity($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -237,7 +237,7 @@ public function it_calls_the_relationships_endpoint($params, $request)
237237
$request->beADoubleOf('rosette\api\RosetteRequest');
238238
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
239239
$request->getResponseCode()->willReturn(200);
240-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => true ]);
240+
$request->getResponse()->willReturn([ 'name' => 'Rosette API']);
241241

242242
$this->setMockRequest($request);
243243
$this->relationships($params)->shouldHaveKeyWithValue('name', 'Rosette API');
@@ -257,17 +257,4 @@ public function it_fails_with_non_200_response($params, $request)
257257
$this->shouldThrow('rosette\api\RosetteException')->duringRelationships($params);
258258
}
259259

260-
public function it_fails_check_version($params, $request)
261-
{
262-
$params->beADoubleOf('\rosette\api\RelationshipsParameters');
263-
$params->contentUri = 'http://some.dummysite.com';
264-
265-
$request->beADoubleOf('rosette\api\RosetteRequest');
266-
$request->makeRequest(Argument::any(), Argument::any(), Argument::any(), Argument::any())->willReturn(true);
267-
$request->getResponseCode()->willReturn(200);
268-
$request->getResponse()->willReturn([ 'name' => 'Rosette API', 'versionChecked' => false ]);
269-
270-
$this->setMockRequest($request);
271-
$this->shouldThrow('rosette\api\RosetteException')->duringRelationships($params);
272-
}
273260
}

0 commit comments

Comments
 (0)