Commit Graph

240 Commits

Author SHA1 Message Date
Tobias Nyholm
7665700b00 Implemented a way to verify webhook signature (#325)
* Implemented a way to verify webhook signature

* CS
2017-04-07 18:29:20 -05:00
z38
b713364dc0 Fix integration tests for domain API (#294)
* Send multipart/form-data requests by default

* Fix integration tests for Domain API
2017-04-07 18:24:48 -05:00
z38
0bc0a3b1a5 Fix disordered POST parameters (#279) 2017-04-07 18:24:37 -05:00
Tobias Nyholm
ae9ee585a2 Fixing broken suppression API (#332)
* Fixing broken suppression API

* cs
2017-04-07 22:09:59 +02:00
Tobias Nyholm
27d13d85fd Updated function parameters (#333)
* Updated function parameters

* cs
2017-04-07 21:52:30 +02:00
Tobias Nyholm
f73445726f Fixed typo in namespace (#330) 2017-04-07 21:31:57 +02:00
Tobias Nyholm
1fa199ddf1 Removed old pagination methods (#329) 2017-04-07 21:30:44 +02:00
Tobias Nyholm
0f5440c368 Fix new constructor (#314)
* Bugfix

* Updated docs

* cs
2017-03-26 13:42:36 -05:00
z38
1e00e8853e Remove unused error response class (#319) 2017-03-26 17:28:09 +02:00
Tobias Nyholm
bc5215090d Renamed DeserializeException to HydrationException (#317) 2017-03-26 17:27:47 +02:00
Tobias Nyholm
70d467955a Make error responses accessable (#312) 2017-03-26 17:26:57 +02:00
Tobias Nyholm
511ad186ce Adding attachments and content id map (#316) 2017-03-26 16:42:12 +02:00
Tobias Nyholm
1222104e54 Do not use json request body (#313)
Build a query encoded request strings and set proper headers.
2017-03-26 16:13:44 +02:00
Tobias Nyholm
9e19f12a3d Added docs of how to debug (#315)
* Added debug options

* Added docs

* cs
2017-03-26 16:12:17 +02:00
Tobias Nyholm
7c83da9246 Added deprecation notices (#309) 2017-03-26 16:11:52 +02:00
Tobias Nyholm
84fb433061 Renamed Routes to Route (#308)
* Renamed Routes to Route

Class names should be in singlular

* Update namespaces
2017-03-26 16:11:33 +02:00
Tobias Nyholm
0eb15969b9 Made most classes final (#310)
* Made most classes final

* bugfix
2017-03-26 10:49:33 +02:00
James Kraus
d2638a0457 Bug fix - Allow adding custom headers with non-array value (#255)
* Bug fix - Allow adding custom headers with non-array value

* Remove whitespace

* Functional test for adding custom headers (either singular or multiple)

* Style fixes for functional test
2017-03-26 10:23:03 +02:00
Tobias Nyholm
64d1c40604 Make sure we can get the last response from the API again. (#305)
* Make sure we can get the last response from the API again.

* cs
2017-03-26 10:17:10 +02:00
Tobias Nyholm
0f4fe2bf9c Improving safe hydrate (#307)
* Improving safe deseriliaze

* Fixes

* Use switch statement

* cs

* bugfix

* Update method name

* Update return docs
2017-03-26 10:16:36 +02:00
Tobias Nyholm
1bfd40721e Added factory methods (#304)
* Added factory methods

* Removed urelated code

* Update test code
2017-03-25 13:48:03 +01:00
Tobias Nyholm
84a5c5dd4a Rename deserializer to hydrator (#296)
* Renamed "deserializer" to "hydrator"

* Make sure we use singlular in namespaces

Also did some cleanups.

* Fixed typo

* cs

* minor fix
2017-03-22 07:44:08 +01:00
z38
b3f24e9d7a Fix setting Reply-To multiple times (#300) 2017-03-14 16:51:33 +01:00
Tobias Nyholm
83a20afbfb Added deprecation notices (#295) 2017-03-14 10:58:47 +01:00
Sergei Beregov
718547a273 #276 additional method to get an attachment (#277)
* #276 additional method to get an attachment

* #276 fix code style

* Add Mailgun::getAttachment + test

* code style fix
2017-02-28 08:10:04 +01:00
Michal Hanajík
74929b6518 Renamed namespace from Resource\Api to Model (#293)
* Renamed namespace from Resource\Api to Model

* Moved Resources\ApiResponse to Models namespace

Signed-off-by: Michal Hanajík <michal.hanajik@outlook.com>

* Fix of code style
2017-02-23 20:56:30 +01:00
Tobias Nyholm
d5a49f2e6d Tag api (#286)
* Started on tag api

* Added TagAPI

* code style

* cs

* removed final

* Adjusting to Davids feedback.

* Added PagingProvider interface
2017-02-21 08:22:57 +01:00
z38
e67ef95d5b Avoid fatal error when deserializing unauthorized requests (#282) 2017-02-20 14:04:05 -06:00
Sean Johnson
da6ee36fed Implement suppressions API (#258) (#264)
* Implement suppressions API (#258)

* Fix annotation issues and use alternate pagination method
2017-02-20 13:57:54 -06:00
Sean Johnson
b6d035c9a3 Add getPagination* concrete functions on Pagination trait (#271) 2017-02-20 13:21:55 -06:00
Tobias Nyholm
47f816ac56 Add quotes around the boundary. (#278)
This will support bounderies with non whitespace
2017-02-18 18:14:12 +01:00
Sean Johnson
01e0c33ee8 Fix typo in PaginationResponse: getFistUrl (#269) 2017-01-27 18:13:39 -06:00
David Garcia
1613843c7e Routes API (#249)
* Add initial (empty) Routes PHP Unit Test file

We still need to provide the automated tests

* Add initial Routes file

* Describe API Methods

* Inherit method from TestCase - adding @inheritdoc annotation

* Add new DTOs to map API responses to known objects

* Add new Response to manage the Routes list

* Implement method to retrieve a list of Routes

* Add new Response to manage a single Route resource

* Implement method to retrieve a single Route

* Set ShowResponse as final

* Add new Response to manage the Create process

* Implement method to create a new Route

* Fix missing annotation

* Add new Response to manage the Delete Route process

* Implement method to delete a Route based on the ID

* Add new Response to manage the Update Route process

This response is based on Domain API docs due there are no examples on
Routes API docs. We may need to update the response.

* Implement method to update a Route based on the ID

* Require a $limit value greater than 0

* Require a $skip value greater than or equal to 0

* Set UpdateResponse as final

* Add new (empty) public methods to test the Routes API

* Provide method to get the Routes API from Mailgun Client

* Add missed annotation

* Update ShowResponse to return an instance of ApiResponse instead of the DTO

* Update annotation

* Fix annotation

* Update array $actions to provide an empty array by default

* Update parameters to make sure the last arg always is a DateTime (or null)

* Use empty()

* Remove DTO suffix

* Move DTOs to the parent folder/namespace

* Fix annotations
2016-12-09 14:15:06 -08:00
David Garcia
b61d5291b2 Minor amends reported by Scrutinizer CI (#250)
* Scrutinizer CI: Bug

The property deserializer does not seem to exist. Did you mean
serializer?

* Scrutinizer CI: Coding Style + Best Practice

It seems like you are loosely comparing two booleans. Considering using
the strict comparison === instead.

* Scrutinizer CI: Bug

It seems like $variables defined by parameter $variables on line ???
can also be of type null; however,
Mailgun\Messages\MessageBuilder::addRecipient() does only seem to
accept array, maybe add an additional type check?

* Scrutinizer CI: Documentation

The doc-type $class|SimpleResponse could not be parsed: Unknown type
name "$class" at position 0

Adding `object` instead of `SimpleResponse` due we have no files called
`SimpleResponse` in our project, and PhpDoc provides the `object`
keyword as a valid option.

https://www.phpdoc.org/docs/latest/guides/types.html#keywords

* Scrutinizer CI: Documentation

There is no parameter named $smtpPass. Did you maybe mean $smtpPassword?

* Scrutinizer CI: Unused Code

$resource is not used, you could remove the assignment.

* Scrutinizer CI: Unused Code

The parameter $message is not used and could be removed.

* Scrutinizer CI: Unused code

This method is not used, and could be removed. (x2)

* Scrutinizer CI: Patch

Doc Comments

* Scrutinizer CI: Patch

Doc comments
2016-12-09 13:41:23 -08:00
Tobias Nyholm
cc82355e50 Messages api (#247)
* Added message API

* Still use json

* code style
2016-12-07 16:29:08 -06:00
Tobias Nyholm
b1f949a925 Added Webhook API (#246)
* Added Webhook API

* code style
2016-12-07 20:42:24 +01:00
Tobias Nyholm
de13ff66ce Added Event API with pagination (#245)
* Added Event API with pagination

* code style

* code style
2016-12-07 12:03:50 -06:00
Sean Johnson
ce8215ff6c Apply fixes from StyleCI (#243) 2016-12-06 12:12:52 -06:00
Tobias Nyholm
d12ea9f456 Do not validate API responses. Create Response objects that have part… (#230)
* Do not validate API responses. Create Response objects that have partial data instead

Fix issue #225

* Code style
2016-12-06 00:44:59 -06:00
Tobias Nyholm
61a019ad67 Fixed integration tests (#233)
* Fixed integration tests

* Update integration tests

* cs
2016-11-24 09:59:05 +01:00
Tobias Nyholm
21c95412c6 Minor documention fix (#227)
* Doc fix

* cs

* cs

* cs

* cs
2016-11-24 08:40:28 +01:00
Sean Johnson
ce9739ea91 Applied fixes from StyleCI (#228) 2016-11-23 23:02:12 +01:00
Tobias Nyholm
8668b4c222 Updated to use Assert 1.2 (#224) 2016-11-23 23:01:26 +01:00
Tobias Nyholm
a3e999e875 Rename functions to reflect the API (#226)
This will fix #202
2016-11-23 22:21:15 +01:00
Tobias Nyholm
9bd6732efd Introduce a request builder. (#217)
* Introduce a request builder.

We inject every dependency (eg RequestFactory and MultipartStreamBuilder) and we do not have to use postMultipart.

* code style

* Use uppercase on http verbs

* Added setters and use getters

* Added tests

* style
2016-11-23 21:55:05 +01:00
Sean Johnson
0da5f410a9 Rename serializer to deserializer (#201) (#216) 2016-11-12 02:50:47 +01:00
Tobias Nyholm
20b9fbfe5d Rename AbstractApi to HttpApi (#214)
Fix #200
2016-11-11 15:25:32 -06:00
Tobias Nyholm
e4d181a4fa Rename ObjectSerializer to ModelSerializer (#215)
Fix #204
2016-11-11 15:25:01 -06:00
Tobias Nyholm
1a71c14097 Removed inheritence, Renamed classes, Mark all classes as final (#212)
* Removed inheritence, Renamed classes, Mark all classes as final

* code style

* Updated docs

* Code style

* Be consistant with the naming of functions

* Fixed tests
2016-11-11 14:53:26 -06:00
Sean Johnson
58430e4537 Domains API, #187 (#198) 2016-10-27 08:34:27 +02:00
Tobias Nyholm
738e6e32e2 POC - Better api (#192)
* Added base for the new API

* code style

* Added response classes

* Added support for serializer

* The abstract API should not know of Mailgun

* Minor

* minor

* Using a client configrator

* code style

* Put HTTPClient in the configurator

* Do not use the api() function

* Use stable version of Assert

* style

* Fixed tests

* make the httpClient private

* Renamed ResponseSerializer to ResponseDeserializer

* Disabled tests that are testing error messages with Assert

* style fixes

* Refactoring fix
2016-10-24 12:01:32 -05:00
Tobias Nyholm
043658f996 Added meta files (#195)
* Added meta files

* Style fixes from StyleCI
2016-10-14 19:20:46 -05:00
Tobias Nyholm
359c6001d4 Deprecate SSL functions (#179) 2016-09-30 15:04:43 +02:00
David Garcia
3aeb602406 Make sure $variables is an array in addRecipient() (#176)
* Write test to verify expected behaviour when we provide a String

* Fix broken test checking if the variable is an Array

* PSR Standard using single quote instead of double quote
2016-09-30 15:03:35 +02:00
Tobias Nyholm
8fe342f5b9 Apply fixes from StyleCI and make sure we add MIT license properly (#163)
* Applied fixes from StyleCI

* Create LICENSE
2016-09-18 09:56:14 +02:00
Wim Verstuyf
5d04bc63a7 Add attachment from memory (#158) 2016-09-06 13:05:50 +02:00
Tobias Nyholm
b2742c73b3 Updated signature for addAttachment
This will fix #69
2016-08-31 11:52:14 +02:00
Tobias Nyholm
741aa0d120 Make sure we use proper POST data arrays 2016-08-10 17:26:24 +02:00
Tobias Nyholm
b79dc5fdb8 Merge pull request #152 from Nyholm/inline-complexity
Reduce code complexity on addInlineImage
2016-08-10 17:18:57 +02:00
Travis Swientek
0a7c96c34a Fixed inline image issue. Added new tests. 2016-08-10 16:37:08 +02:00
Tobias Nyholm
3114b8a17a Reduce code complexity 2016-08-05 09:44:49 +02:00
David Garcia
817dad1f90 Applied fixes from StyleCI 2016-07-24 07:42:47 -04:00
David Garcia
8da94ac190 PHP CS Fixer 2016-07-24 12:41:21 +01:00
David Garcia
09eda3df13 PHP Code Sniffer 2016-07-24 12:40:50 +01:00
Tobias Nyholm
6275b2b796 Merge pull request #112 from nebkam/patch-1
Declare endpointUrl field
2016-07-21 01:02:09 +02:00
Tobias Nyholm
2cc6ee8c77 Completly removed depenency on Guzzle and made discovery easier 2016-07-21 00:05:23 +02:00
Sergey Obukhov
b8a0abc075 Merge pull request #138 from Nyholm/issue-122
Build a string query form array
2016-07-20 14:56:59 -07:00
Sergey Obukhov
7844883c86 Merge pull request #117 from gaomd/fix-signature-check
Strict check of signature
2016-07-20 14:46:35 -07:00
Sergey Obukhov
c808bbeec1 Merge branch 'develop' of https://github.com/YupItsZac/mailgun-php into YupItsZac-develop
Conflicts:
	src/Mailgun/Mailgun.php
2016-07-20 12:44:05 -07:00
Sergey Obukhov
341e06a196 Merge pull request #90 from z38/fix-webhook-notices
Fix notices on empty webhook requests
2016-07-20 12:34:11 -07:00
Sergey Obukhov
a0d10c47fb Merge pull request #121 from TemirkhanN/master
PHPdoc typos, minor performance changes
2016-07-20 12:31:41 -07:00
Sergey Obukhov
280eead0ea Merge pull request #98 from MatissJanis/patch-1
Fix spelling
2016-07-20 12:24:35 -07:00
Tobias Nyholm
1cdfc3c204 Added header 2016-07-19 15:00:29 +02:00
Tobias Nyholm
75614bf294 Build a string query form array
Fix issue #122
2016-07-19 14:58:31 +02:00
=
e921db5cc9 Added var types to docblock 2016-06-22 23:04:31 +02:00
=
8c97f6f451 Updated docblock for sendMessage function to include @return and @throws 2016-06-22 23:00:27 +02:00
temirkhan
30b4aa5e9a Little fix in responseHandler switch case:
throwing exception prevents next code execution, so it was unnecessary to use breaks. And also use return in case that differs from 200
2016-04-20 12:00:50 +03:00
temirkhan
2d9cd57d2e PHPDoc typos fixed, minor performance changes 2016-04-19 15:27:12 +03:00
Mengdi Gao
20422956e8 Strict check of signature 2016-04-11 00:26:34 +08:00
Nebojša Kamber
6a8f2dd424 Declare endpointUrl field
To avoid `field declared dynamically` and `field not found` warnings in IDEs
2016-03-29 12:14:40 +02:00
Tobias Nyholm
b85f1461d4 Removed unused tests and some parameters from the constructor 2016-03-05 11:13:28 +01:00
Tobias Nyholm
b961cfb4eb Updated to latest version of Httplug and made auto discovery optional 2016-02-26 12:04:54 +01:00
Tobias Nyholm
7f3d637756 Updated to reflect changes in PHP-HTTP 2015-11-18 15:46:53 +01:00
Matīss Jānis Āboltiņš
f5a37188df Fix spelling 2015-11-13 12:30:23 +02:00
Tobias Nyholm
a0edd0eb30 Updates to the php-http library 2015-10-30 14:36:08 +01:00
Tobias Nyholm
78f252761e Updated the php-http lib 2015-10-30 14:28:43 +01:00
Tobias Nyholm
b8420451c7 Added docs 2015-10-13 08:59:43 +02:00
Tobias Nyholm
4131802de2 Changed according to Rubens suggestions 2015-10-12 22:46:30 +02:00
Tobias Nyholm
61d03262a9 Removed dependency on Happyr/AutoDiscovery 2015-10-12 19:23:58 +02:00
Tobias Nyholm
ad015ce441 code style 2015-10-03 23:27:50 +02:00
Tobias Nyholm
b080b181ac Make sure we do not depend on any http transport library 2015-10-03 22:10:48 +02:00
z38
1f555c2f27 Fixed notices on empty webhook requests 2015-09-13 20:01:16 +02:00
Anders Munk
04f1baa2fd Updated rest client to use PSR7. No phpunit tests yet; will come soon. Manual sending message to mailgun API works. 2015-07-23 14:25:28 +02:00
Jesse Spears
225e800595 Bump getResponseExceptionMessage to GuzzleHttp version 5 2015-05-06 10:52:51 -07:00
Tobias Nyholm
3bb69d8cbe * Updated composer.json to guzzle v5
* Don't allow HHVM to fail
* Updated RestClient to Guzzle5
* Removed php5.3 from travis.
* Bugfix and removed debug code
2015-05-05 18:19:10 -07:00
Wietse de Vries
edae22eba4 Updated default API version from v2 to v3
http://blog.mailgun.com/default-api-version-now-v3/
2015-05-05 18:18:08 -07:00
CupOfTea696
e1406e3936 Shows response message on 400, 401 and 404 errors
Adds the actual response message to the errors thrown on 400, 401 and
404 response codes. This provides a lot more useful info than the
current messages. The message doesn’t really give you much to go one. I
spent hours trying to find what I did wrong, double checking my API
keys and looking up the error on google.
2015-05-05 18:18:08 -07:00
Michael Crawford
5043a49969 *Fixed class docblock (mainly fixed so that travis-ci would trigger a build) 2014-11-20 12:52:37 -06:00
Michael Crawford
67ae7c4137 * Removed unnecessary constructor
* Added function docblocks
* Changed class docblock to include link to lists readme
2014-11-20 12:44:33 -06:00
Michael Crawford
4924b597f4 * Added php docblocks to functions and member variables.
* Changed constants to use new constant classes.
* Changed class docblock to include link to readme file
* Moved function descriptions of sendMessage() and verifyWebhookSignature() methods to function docblocks
2014-11-20 12:41:25 -06:00