knacktech / zerobounce Goto Github PK
View Code? Open in Web Editor NEWKnack ZeroBounce PHP API Wrapper
License: MIT License
Knack ZeroBounce PHP API Wrapper
License: MIT License
Is your feature request related to a problem? Please describe.
Before publishing, we need to remove and ignore Test Output and add a License into the project.
Describe the solution you'd like
.gitgnore
the Test Output and add an MIT License to the repo.
To make this area more verbose, add Issue Templates!
To get the Laravel community involved, a ServiceProvider will need to be provided to allow for singleton instantiation of the Wrapper API.
Is your feature request related to a problem? Please describe.
It would be great to have Environment::get($key)
to take a second parameter that is the default value, if the value for the specified key is not found.
Describe the solution you'd like
Allow a second parameter to pass a variable that will be returned if the value for the specified key is not found in the .env
file.
Describe alternatives you've considered
Allow the implementer to handle that with a ternary, but this just adds more work for the implementer to do and adds more code each time the implementer wants to do this.
Right now, if there isn't an API key passed into the constructor call of the ZeroBounce
class, there is no exception thrown to indicate that there is an issue. We would like to add an exception to be thrown if nothing is passed to the constructor.
Right now to ensure compatibility across repos, Carbon 1.x is being used in the project. We would like to upgrade to Carbon 2.
Is your feature request related to a problem? Please describe.
Improve the README for first-time developers
Describe the solution you'd like
Add the following sections to the README:
10 extra points to Gryffindor for adding PHP Docs to the repo! ๐ฎ
Currently, if no API Key is set in the ZeroBounce constructor, the method throws an API Key Exception. This can cause issues in any implementing package, throwing the Exception from the constructor can cause blocks until the API Key is set, this is a bit too strict.
Instead, throw the Empty API Key Exception when the call to the ZeroBounce API is sent.
Is your feature request related to a problem? Please describe.
No, we are looking to add CI and Coverage reporting before pushing to Packagist.
Describe the solution you'd like
CI Builds via Semaphore and Code Coverage via CodeCov
Is your feature request related to a problem? Please describe.
Yes, currently when an exception is thrown from the ZeroBounceAPI
class, null is returned. Instead, throw an Exception that has details from the Exception thrown above.
Describe the solution you'd like
A new ZeroBounceException that is thrown that details the issue was thrown above.
Describe alternatives you've considered
Continue returning null, but that won't give the implementer the ability to Log information about the error being returned.
Is your feature request related to a problem? Please describe.
We currently don't have a repo Code of Conduct for PRs
Describe the solution you'd like
Add a Code of Conduct for PRs
Currently, if null is returned from ZeroBounce, an exception is thrown. This is because of the return type of the ZeroBounce::validate()
method requiring it returns a Response
object. This needs to be loosened to allow null return types, especially if the method clearly returns null if an exception is thrown.
Is your feature request related to a problem? Please describe.
We currently don't have a repo Contribution Guideline for PRs
Describe the solution you'd like
Add a Contribution Guideline for PRs
Describe the bug
The HTTP Timeout for Guzzle in the ZeroBounce package is currently being ignored. This leads to timeouts for any package that implements this package where the variable is set, and the HTTP request times out.
Expected behavior
Follow the HTTP Timeout variable being passed.
Screenshots
If applicable, add screenshots to help explain your problem.
Currently, the ZeroBounceAPI calls are made using cURL. To modernize the API, we would prefer to use Guzzle over cURL.
Currently, there are a variety of values that can be returned from the status
, subStatus
, and gender
fields in the Response
object. We would like to move these to Enums to make understanding these potential return values better.
To keep things consistent, add a code formatting tool to ensure consistent styling.
Allow configurations such as HTTP Timeouts to be overridden by Environment Variables.
We need a PR Template that can be used for new PRs. Use the same PR as other Knack projects.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.