43 Commits

Author SHA1 Message Date
Tobias Nyholm
da5ccde2a7
Adding support for Mailing list (#514)
* Adding Mailing list API

* Added tests

* cs

* Fixed the tests

* code cleanup
2019-01-06 08:11:37 +01:00
Tobias Nyholm
56655ad6c0
Added IP API class, models and test (#515)
* Added IP API class, models and test

* cs

* bugfix
2019-01-05 20:31:38 +01:00
Matias Barletta
07da83776a fix: Validate file name length (#463)
* fix: Validate file name length

$message could contain a large email text that if sent to is_file it could break with this error:
` is_file(): File name is longer than the maximum allowed path `
This validation prevents using is_file if the $message is longer than the allowed path.

* style: Fix extra space

* Added a small test

* cs

* cs
2019-01-05 12:44:50 +01:00
Tobias Nyholm
d4e4d4efbe
Close open resources (#473)
* Make sure to close any open resources

* Fixed test
2019-01-05 08:23:41 +01:00
Tobias Nyholm
a4aba16061
Added a way to get attachments (#476)
* Added a way to get attachments

* Added some tests

* cs

* minor

* Removed declare_strict

* Typos

* Bugfixes

* Fixed bugs
2018-08-09 18:59:38 +02:00
Nyholm
fa30639f99 Added complaint test 2018-08-08 20:48:35 +01:00
Tobias Nyholm
eb07576e6a
Ported MessageBuilder and BatchMessage (#472)
* Ported MessageBuilder and BatchMessage

* Added test for MessageBuilder

* Added test for BatchMessageTest

* cs

* cs

* Removed PHP7 code
2018-08-04 21:30:15 +02:00
Radoje Albijanic
e28065fe2e 413 error proper handle. 2018-04-08 11:16:19 +01:00
Tobias Nyholm
6dfd2b5a18
Update .travis.yml and fix style (#414)
* Update .travis.yml

* syntax fix

* Apply fixes from StyleCI (#415)

* Syntax fix
2017-12-01 20:55:29 +01:00
Ángel Guzmán Maeso
1fd4f222e6 Update POST domain/create with optional params (#399)
According to issue #397 the stmp params are optionals in the creation of a domain
2017-11-22 09:47:57 +01:00
SeanJA
fa02dd4fdb fixed typo (#411)
splitted => split
2017-11-22 09:37:38 +01:00
Hannes Magnússon
ce484ecbc8 Grammar typo (#413)
* Grammar typo

* Fixed style errors as reported by styleci
2017-11-22 09:37:04 +01:00
maximzasorin
e800038f21 Add domain verification (#370) 2017-06-22 19:35:42 +02:00
Tobias Nyholm
d4ab1b0a87 Support mime messages (#341)
* Support mime messages

* cs

* Removed pointless integration tests

* typo

* Create new endpoint for message.mime

* cs

* Added docs

* Doc fixes

* Refactor
2017-04-14 10:31:13 +02:00
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
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
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
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
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
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
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
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
61a019ad67 Fixed integration tests (#233)
* Fixed integration tests

* Update integration tests

* cs
2016-11-24 09:59:05 +01:00
Sean Johnson
ce9739ea91 Applied fixes from StyleCI (#228) 2016-11-23 23:02:12 +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
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