├── README.md ├── Server.js ├── index.html ├── node_modules ├── express │ ├── .npmignore │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware │ │ │ ├── init.js │ │ │ └── query.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── index.js │ │ │ ├── layer.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ ├── node_modules │ │ ├── accepts │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── mime-types │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── SOURCES.md │ │ │ │ │ ├── component.json │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── custom.json │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── mime.json │ │ │ │ │ │ └── node.json │ │ │ │ │ └── package.json │ │ │ │ └── negotiator │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── lib │ │ │ │ │ ├── charset.js │ │ │ │ │ ├── encoding.js │ │ │ │ │ ├── language.js │ │ │ │ │ ├── mediaType.js │ │ │ │ │ └── negotiator.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── readme.md │ │ │ └── package.json │ │ ├── buffer-crc32 │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── tests │ │ │ │ └── crc.test.js │ │ ├── cookie-signature │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── cookie │ │ │ ├── .npmignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── debug │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── browser.js │ │ │ ├── component.json │ │ │ ├── debug.js │ │ │ ├── node.js │ │ │ ├── node_modules │ │ │ │ └── ms │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── depd │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── escape-html │ │ │ ├── .npmignore │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── finalhandler │ │ │ ├── .npmignore │ │ │ ├── HISTORY.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── fresh │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── media-typer │ │ │ ├── .npmignore │ │ │ ├── HISTORY.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── merge-descriptors │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── methods │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── methods.js │ │ ├── parseurl │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── path-to-regexp │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Readme.md │ │ │ ├── component.json │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test.js │ │ ├── proxy-addr │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── ipaddr.js │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── Cakefile │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── ipaddr.min.js │ │ │ │ │ ├── lib │ │ │ │ │ └── ipaddr.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src │ │ │ │ │ └── ipaddr.coffee │ │ │ │ │ └── test │ │ │ │ │ └── ipaddr.test.coffee │ │ │ └── package.json │ │ ├── qs │ │ │ ├── .gitmodules │ │ │ ├── .npmignore │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── range-parser │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Makefile │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── send │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ │ ├── send.js │ │ │ │ └── utils.js │ │ │ ├── node_modules │ │ │ │ ├── finished │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── ee-first │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── test.js │ │ │ │ │ └── package.json │ │ │ │ ├── mime │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── mime.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── test.js │ │ │ │ │ └── types │ │ │ │ │ │ ├── mime.types │ │ │ │ │ │ └── node.types │ │ │ │ └── ms │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── serve-static │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── parseurl │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── HISTORY.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── type-is │ │ │ ├── .npmignore │ │ │ ├── HISTORY.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── mime-types │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README.md │ │ │ │ │ ├── SOURCES.md │ │ │ │ │ ├── component.json │ │ │ │ │ ├── lib │ │ │ │ │ ├── custom.json │ │ │ │ │ ├── index.js │ │ │ │ │ ├── mime.json │ │ │ │ │ └── node.json │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── utils-merge │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── vary │ │ │ ├── .npmignore │ │ │ ├── History.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json └── nodemailer │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── lib │ ├── engines │ │ ├── direct.js │ │ ├── pickup.js │ │ ├── sendmail.js │ │ ├── ses.js │ │ ├── smtp.js │ │ └── stub.js │ ├── helpers.js │ ├── nodemailer.js │ ├── transport.js │ ├── wellknown.js │ └── xoauth.js │ ├── node_modules │ ├── .bin │ │ ├── he │ │ └── he.cmd │ ├── aws-sdk │ │ ├── .npmignore │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE.txt │ │ ├── NOTICE.txt │ │ ├── README.md │ │ ├── UPGRADING.md │ │ ├── bower.json │ │ ├── index.js │ │ ├── lib │ │ │ ├── aws.js │ │ │ ├── browser.js │ │ │ ├── config.js │ │ │ ├── core.js │ │ │ ├── credentials.js │ │ │ ├── credentials │ │ │ │ ├── credential_provider_chain.js │ │ │ │ ├── ec2_metadata_credentials.js │ │ │ │ ├── environment_credentials.js │ │ │ │ ├── file_system_credentials.js │ │ │ │ ├── saml_credentials.js │ │ │ │ ├── shared_ini_file_credentials.js │ │ │ │ ├── temporary_credentials.js │ │ │ │ └── web_identity_credentials.js │ │ │ ├── event_listeners.js │ │ │ ├── http.js │ │ │ ├── http │ │ │ │ ├── node.js │ │ │ │ └── xhr.js │ │ │ ├── json │ │ │ │ ├── builder.js │ │ │ │ └── parser.js │ │ │ ├── metadata_service.js │ │ │ ├── model │ │ │ │ ├── api.js │ │ │ │ ├── collection.js │ │ │ │ ├── operation.js │ │ │ │ ├── paginator.js │ │ │ │ ├── resource_waiter.js │ │ │ │ └── shape.js │ │ │ ├── param_validator.js │ │ │ ├── protocol │ │ │ │ ├── json.js │ │ │ │ ├── query.js │ │ │ │ ├── rest.js │ │ │ │ ├── rest_json.js │ │ │ │ └── rest_xml.js │ │ │ ├── query │ │ │ │ └── query_param_serializer.js │ │ │ ├── region_config.js │ │ │ ├── region_config.json │ │ │ ├── request.js │ │ │ ├── resource_waiter.js │ │ │ ├── response.js │ │ │ ├── sequential_executor.js │ │ │ ├── service.js │ │ │ ├── services.js │ │ │ ├── services │ │ │ │ ├── cloudsearchdomain.js │ │ │ │ ├── dynamodb.js │ │ │ │ ├── ec2.js │ │ │ │ ├── elastictranscoder.js │ │ │ │ ├── glacier.js │ │ │ │ ├── route53.js │ │ │ │ ├── s3.js │ │ │ │ ├── sqs.js │ │ │ │ ├── sts.js │ │ │ │ └── swf.js │ │ │ ├── signers │ │ │ │ ├── presign.js │ │ │ │ ├── request_signer.js │ │ │ │ ├── s3.js │ │ │ │ ├── v2.js │ │ │ │ ├── v3.js │ │ │ │ ├── v3https.js │ │ │ │ └── v4.js │ │ │ ├── state_machine.js │ │ │ ├── util.js │ │ │ └── xml │ │ │ │ ├── browser_parser.js │ │ │ │ ├── builder.js │ │ │ │ └── node_parser.js │ │ ├── node_modules │ │ │ ├── aws-sdk-apis │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── apis │ │ │ │ │ ├── autoscaling-2011-01-01.api.json │ │ │ │ │ ├── autoscaling-2011-01-01.paginators.json │ │ │ │ │ ├── cloudformation-2010-05-15.api.json │ │ │ │ │ ├── cloudformation-2010-05-15.paginators.json │ │ │ │ │ ├── cloudfront-2014-05-31.api.json │ │ │ │ │ ├── cloudfront-2014-05-31.paginators.json │ │ │ │ │ ├── cloudfront-2014-05-31.waiters.json │ │ │ │ │ ├── cloudsearch-2011-02-01.api.json │ │ │ │ │ ├── cloudsearch-2011-02-01.paginators.json │ │ │ │ │ ├── cloudsearch-2013-01-01.api.json │ │ │ │ │ ├── cloudsearch-2013-01-01.paginators.json │ │ │ │ │ ├── cloudsearchdomain-2013-01-01.api.json │ │ │ │ │ ├── cloudtrail-2013-11-01.api.json │ │ │ │ │ ├── cloudtrail-2013-11-01.paginators.json │ │ │ │ │ ├── datapipeline-2012-10-29.api.json │ │ │ │ │ ├── datapipeline-2012-10-29.paginators.json │ │ │ │ │ ├── directconnect-2012-10-25.api.json │ │ │ │ │ ├── directconnect-2012-10-25.paginators.json │ │ │ │ │ ├── dynamodb-2011-12-05.api.json │ │ │ │ │ ├── dynamodb-2011-12-05.paginators.json │ │ │ │ │ ├── dynamodb-2011-12-05.waiters.json │ │ │ │ │ ├── dynamodb-2012-08-10.api.json │ │ │ │ │ ├── dynamodb-2012-08-10.paginators.json │ │ │ │ │ ├── dynamodb-2012-08-10.waiters.json │ │ │ │ │ ├── ec2-2014-05-01.api.json │ │ │ │ │ ├── ec2-2014-05-01.paginators.json │ │ │ │ │ ├── ec2-2014-05-01.resources.json │ │ │ │ │ ├── ec2-2014-05-01.waiters.json │ │ │ │ │ ├── elasticache-2014-03-24.api.json │ │ │ │ │ ├── elasticache-2014-03-24.paginators.json │ │ │ │ │ ├── elasticbeanstalk-2010-12-01.api.json │ │ │ │ │ ├── elasticbeanstalk-2010-12-01.paginators.json │ │ │ │ │ ├── elasticloadbalancing-2012-06-01.api.json │ │ │ │ │ ├── elasticloadbalancing-2012-06-01.paginators.json │ │ │ │ │ ├── elasticmapreduce-2009-03-31.api.json │ │ │ │ │ ├── elasticmapreduce-2009-03-31.paginators.json │ │ │ │ │ ├── elastictranscoder-2012-09-25.api.json │ │ │ │ │ ├── elastictranscoder-2012-09-25.paginators.json │ │ │ │ │ ├── email-2010-12-01.api.json │ │ │ │ │ ├── email-2010-12-01.paginators.json │ │ │ │ │ ├── email-2010-12-01.waiters.json │ │ │ │ │ ├── glacier-2012-06-01.api.json │ │ │ │ │ ├── glacier-2012-06-01.paginators.json │ │ │ │ │ ├── glacier-2012-06-01.waiters.json │ │ │ │ │ ├── iam-2010-05-08.api.json │ │ │ │ │ ├── iam-2010-05-08.paginators.json │ │ │ │ │ ├── importexport-2010-06-01.api.json │ │ │ │ │ ├── importexport-2010-06-01.paginators.json │ │ │ │ │ ├── kinesis-2013-12-02.api.json │ │ │ │ │ ├── kinesis-2013-12-02.paginators.json │ │ │ │ │ ├── monitoring-2010-08-01.api.json │ │ │ │ │ ├── monitoring-2010-08-01.paginators.json │ │ │ │ │ ├── opsworks-2013-02-18.api.json │ │ │ │ │ ├── opsworks-2013-02-18.paginators.json │ │ │ │ │ ├── rds-2013-01-10.api.json │ │ │ │ │ ├── rds-2013-01-10.paginators.json │ │ │ │ │ ├── rds-2013-02-12.api.json │ │ │ │ │ ├── rds-2013-02-12.paginators.json │ │ │ │ │ ├── rds-2013-09-09.api.json │ │ │ │ │ ├── rds-2013-09-09.paginators.json │ │ │ │ │ ├── rds-2013-09-09.waiters.json │ │ │ │ │ ├── redshift-2012-12-01.api.json │ │ │ │ │ ├── redshift-2012-12-01.paginators.json │ │ │ │ │ ├── redshift-2012-12-01.waiters.json │ │ │ │ │ ├── route53-2013-04-01.api.json │ │ │ │ │ ├── route53-2013-04-01.paginators.json │ │ │ │ │ ├── s3-2006-03-01.api.json │ │ │ │ │ ├── s3-2006-03-01.paginators.json │ │ │ │ │ ├── s3-2006-03-01.waiters.json │ │ │ │ │ ├── sdb-2009-04-15.api.json │ │ │ │ │ ├── sdb-2009-04-15.paginators.json │ │ │ │ │ ├── sns-2010-03-31.api.json │ │ │ │ │ ├── sns-2010-03-31.paginators.json │ │ │ │ │ ├── sqs-2012-11-05.api.json │ │ │ │ │ ├── sqs-2012-11-05.paginators.json │ │ │ │ │ ├── storagegateway-2013-06-30.api.json │ │ │ │ │ ├── storagegateway-2013-06-30.paginators.json │ │ │ │ │ ├── sts-2011-06-15.api.json │ │ │ │ │ ├── support-2013-04-15.api.json │ │ │ │ │ ├── support-2013-04-15.paginators.json │ │ │ │ │ ├── swf-2012-01-25.api.json │ │ │ │ │ └── swf-2012-01-25.paginators.json │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ └── translator.js │ │ │ │ ├── metadata.json │ │ │ │ ├── package.json │ │ │ │ └── scripts │ │ │ │ │ └── translate-api │ │ │ ├── xml2js │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ └── xml2js.js │ │ │ │ ├── node_modules │ │ │ │ │ └── sax │ │ │ │ │ │ ├── AUTHORS │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── examples │ │ │ │ │ │ ├── big-not-pretty.xml │ │ │ │ │ │ ├── example.js │ │ │ │ │ │ ├── get-products.js │ │ │ │ │ │ ├── hello-world.js │ │ │ │ │ │ ├── not-pretty.xml │ │ │ │ │ │ ├── pretty-print.js │ │ │ │ │ │ ├── shopping.xml │ │ │ │ │ │ ├── strict.dtd │ │ │ │ │ │ ├── switch-bench.js │ │ │ │ │ │ ├── test.html │ │ │ │ │ │ └── test.xml │ │ │ │ │ │ ├── lib │ │ │ │ │ │ └── sax.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── buffer-overrun.js │ │ │ │ │ │ ├── case.js │ │ │ │ │ │ ├── cdata-chunked.js │ │ │ │ │ │ ├── cdata-end-split.js │ │ │ │ │ │ ├── cdata-fake-end.js │ │ │ │ │ │ ├── cdata-multiple.js │ │ │ │ │ │ ├── cdata.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── issue-23.js │ │ │ │ │ │ ├── issue-30.js │ │ │ │ │ │ ├── issue-35.js │ │ │ │ │ │ ├── issue-47.js │ │ │ │ │ │ ├── issue-49.js │ │ │ │ │ │ ├── parser-position.js │ │ │ │ │ │ ├── script.js │ │ │ │ │ │ ├── self-closing-child-strict.js │ │ │ │ │ │ ├── self-closing-child.js │ │ │ │ │ │ ├── self-closing-tag.js │ │ │ │ │ │ ├── stray-ending.js │ │ │ │ │ │ ├── trailing-non-whitespace.js │ │ │ │ │ │ ├── unquoted.js │ │ │ │ │ │ ├── xmlns-issue-41.js │ │ │ │ │ │ ├── xmlns-rebinding.js │ │ │ │ │ │ ├── xmlns-strict.js │ │ │ │ │ │ ├── xmlns-unbound.js │ │ │ │ │ │ ├── xmlns-xml-default-ns.js │ │ │ │ │ │ ├── xmlns-xml-default-prefix-attribute.js │ │ │ │ │ │ ├── xmlns-xml-default-prefix.js │ │ │ │ │ │ └── xmlns-xml-default-redefine.js │ │ │ │ └── package.json │ │ │ └── xmlbuilder │ │ │ │ ├── .npmignore │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ ├── XMLBuilder.js │ │ │ │ ├── XMLFragment.js │ │ │ │ └── index.js │ │ │ │ └── package.json │ │ ├── package.json │ │ ├── scripts │ │ │ └── console │ │ └── testem.json │ ├── directmail │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── mailer.js │ │ │ └── queue.js │ │ └── package.json │ ├── he │ │ ├── LICENSE-MIT.txt │ │ ├── README.md │ │ ├── bin │ │ │ └── he │ │ ├── he.js │ │ ├── man │ │ │ └── he.1 │ │ └── package.json │ ├── mailcomposer │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ ├── mailcomposer.js │ │ │ ├── topunycode.js │ │ │ └── urlfetch.js │ │ ├── node_modules │ │ │ ├── dkim-signer │ │ │ │ ├── .npmignore │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ └── dkim.js │ │ │ │ └── package.json │ │ │ ├── follow-redirects │ │ │ │ ├── .npmignore │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ │ └── underscore │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── underscore-min.js │ │ │ │ │ │ └── underscore.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ └── index.js │ │ │ ├── mime │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── mime.js │ │ │ │ ├── package.json │ │ │ │ ├── test.js │ │ │ │ └── types │ │ │ │ │ ├── mime.types │ │ │ │ │ └── node.types │ │ │ ├── mimelib │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── content-types-reversed.js │ │ │ │ │ ├── content-types.js │ │ │ │ │ └── mimelib.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── addressparser │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test.js │ │ │ │ │ └── encoding │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── lib │ │ │ │ │ │ └── encoding.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── iconv-lite │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── Changelog.md │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── README.md~ │ │ │ │ │ │ │ ├── encodings │ │ │ │ │ │ │ ├── dbcs-codec.js │ │ │ │ │ │ │ ├── dbcs-data.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── internal.js │ │ │ │ │ │ │ ├── sbcs-codec.js │ │ │ │ │ │ │ ├── sbcs-data-generated.js │ │ │ │ │ │ │ ├── sbcs-data.js │ │ │ │ │ │ │ ├── tables │ │ │ │ │ │ │ │ ├── big5-added.json │ │ │ │ │ │ │ │ ├── cp936.json │ │ │ │ │ │ │ │ ├── cp949.json │ │ │ │ │ │ │ │ ├── cp950.json │ │ │ │ │ │ │ │ ├── eucjp.json │ │ │ │ │ │ │ │ ├── gb18030-ranges.json │ │ │ │ │ │ │ │ ├── gbk-added.json │ │ │ │ │ │ │ │ └── shiftjis.json │ │ │ │ │ │ │ └── utf16.js │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── extend-node.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── streams.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ └── test.js │ │ │ │ └── package.json │ │ │ └── punycode │ │ │ │ ├── LICENSE-GPL.txt │ │ │ │ ├── LICENSE-MIT.txt │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ ├── punycode.js │ │ │ │ └── punycode.min.js │ │ └── package.json │ ├── public-address │ │ ├── .npmignore │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── readable-stream │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── duplex.js │ │ ├── float.patch │ │ ├── lib │ │ │ ├── _stream_duplex.js │ │ │ ├── _stream_passthrough.js │ │ │ ├── _stream_readable.js │ │ │ ├── _stream_transform.js │ │ │ └── _stream_writable.js │ │ ├── node_modules │ │ │ ├── core-util-is │ │ │ │ ├── README.md │ │ │ │ ├── float.patch │ │ │ │ ├── lib │ │ │ │ │ └── util.js │ │ │ │ ├── package.json │ │ │ │ └── util.js │ │ │ ├── inherits │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── inherits.js │ │ │ │ ├── inherits_browser.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── isarray │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ └── build.js │ │ │ │ ├── component.json │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── string_decoder │ │ │ │ ├── .npmignore │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ ├── package.json │ │ ├── passthrough.js │ │ ├── readable.js │ │ ├── transform.js │ │ └── writable.js │ └── simplesmtp │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ ├── client.js │ │ ├── pool.js │ │ ├── server.js │ │ └── simpleserver.js │ │ ├── node_modules │ │ ├── rai │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── cert │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ │ ├── lib │ │ │ │ ├── mockup.js │ │ │ │ ├── rai.js │ │ │ │ └── starttls.js │ │ │ └── package.json │ │ └── xoauth2 │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test.js │ │ └── package.json │ └── package.json └── package.json /README.md: -------------------------------------------------------------------------------- 1 | node-email-verification 2 | ======================= 3 | Script to send and verify email account of user. 4 | 5 | Tutorial link : http://wp.me/p4ISPV-39 6 | 7 | How to use: 8 | 9 | You can get the script in two ways: 10 | 11 | => Either download the zip. 12 | 13 | OR 14 | 15 | => git clone https://github.com/codeforgeek/node-email-verification.git 16 | 17 | Thanks. 18 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Node.JS Email application 4 | 5 | 21 | 53 | 54 | 55 |
56 |

Email-verification System in Node.js

57 |
58 |
59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /node_modules/express/.npmignore: -------------------------------------------------------------------------------- 1 | .git* 2 | benchmarks/ 3 | coverage/ 4 | docs/ 5 | examples/ 6 | support/ 7 | test/ 8 | testing.js 9 | .DS_Store 10 | .travis.yml 11 | Contributing.md 12 | -------------------------------------------------------------------------------- /node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/express'); 3 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Initialization middleware, exposing the 3 | * request and response to eachother, as well 4 | * as defaulting the X-Powered-By header field. 5 | * 6 | * @param {Function} app 7 | * @return {Function} 8 | * @api private 9 | */ 10 | 11 | exports.init = function(app){ 12 | return function expressInit(req, res, next){ 13 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 14 | req.res = res; 15 | res.req = req; 16 | req.next = next; 17 | 18 | req.__proto__ = app.request; 19 | res.__proto__ = app.response; 20 | 21 | res.locals = res.locals || Object.create(null); 22 | 23 | next(); 24 | }; 25 | }; 26 | 27 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var qs = require('qs'); 6 | var parseUrl = require('parseurl'); 7 | 8 | /** 9 | * Query: 10 | * 11 | * Automatically parse the query-string when available, 12 | * populating the `req.query` object using 13 | * [qs](https://github.com/visionmedia/node-querystring). 14 | * 15 | * Examples: 16 | * 17 | * .use(connect.query()) 18 | * .use(function(req, res){ 19 | * res.end(JSON.stringify(req.query)); 20 | * }); 21 | * 22 | * The `options` passed are provided to qs.parse function. 23 | * 24 | * @param {Object} options 25 | * @return {Function} 26 | * @api public 27 | */ 28 | 29 | module.exports = function query(options){ 30 | return function query(req, res, next){ 31 | if (!req.query) { 32 | req.query = ~req.url.indexOf('?') 33 | ? qs.parse(parseUrl(req).query, options) 34 | : {}; 35 | } 36 | 37 | next(); 38 | }; 39 | }; 40 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/History.md: -------------------------------------------------------------------------------- 1 | 1.0.7 / 2014-07-04 2 | ================== 3 | 4 | * Fix wrong type returned from `type` when match after unknown extension 5 | 6 | 1.0.6 / 2014-06-24 7 | ================== 8 | 9 | * deps: negotiator@0.4.7 10 | 11 | 1.0.5 / 2014-06-20 12 | ================== 13 | 14 | * fix crash when unknown extension given 15 | 16 | 1.0.4 / 2014-06-19 17 | ================== 18 | 19 | * use `mime-types` 20 | 21 | 1.0.3 / 2014-06-11 22 | ================== 23 | 24 | * deps: negotiator@0.4.6 25 | - Order by specificity when quality is the same 26 | 27 | 1.0.2 / 2014-05-29 28 | ================== 29 | 30 | * Fix interpretation when header not in request 31 | * deps: pin negotiator@0.4.5 32 | 33 | 1.0.1 / 2014-01-18 34 | ================== 35 | 36 | * Identity encoding isn't always acceptable 37 | * deps: negotiator@~0.4.0 38 | 39 | 1.0.0 / 2013-12-27 40 | ================== 41 | 42 | * Genesis 43 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | build.js 3 | 4 | # OS generated files # 5 | ###################### 6 | .DS_Store* 7 | # Icon? 8 | ehthumbs.db 9 | Thumbs.db 10 | 11 | # Node.js # 12 | ########### 13 | node_modules 14 | npm-debug.log 15 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.11" 6 | matrix: 7 | allow_failures: 8 | - node_js: "0.11" 9 | fast_finish: true 10 | before_install: 11 | # remove build script deps before install 12 | - node -pe 'f="./package.json";p=require(f);d=p.devDependencies;for(k in d){if("co"===k.substr(0,2))delete d[k]}require("fs").writeFileSync(f,JSON.stringify(p,null,2))' 13 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: 3 | node --harmony-generators build.js 4 | 5 | test: 6 | node test/mime.js 7 | mocha --require should --reporter spec test/test.js 8 | 9 | .PHONY: build test 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/SOURCES.md: -------------------------------------------------------------------------------- 1 | 2 | ### Sources for custom types 3 | 4 | This is a list of sources for any custom mime types. 5 | When adding custom mime types, please link to where you found the mime type, 6 | even if it's from an unofficial source. 7 | 8 | - `text/coffeescript` - http://coffeescript.org/#scripts 9 | - `text/x-handlebars-template` - https://handlebarsjs.com/#getting-started 10 | - `text/x-sass` & `text/x-scss` - https://github.com/janlelis/rubybuntu-mime/blob/master/sass.xml 11 | - `text.jsx` - http://facebook.github.io/react/docs/getting-started.html [[2]](https://github.com/facebook/react/blob/f230e0a03154e6f8a616e0da1fb3d97ffa1a6472/vendor/browser-transforms.js#L210) 12 | 13 | [Sources for node.json types](https://github.com/broofa/node-mime/blob/master/types/node.types) 14 | 15 | ### Notes on weird types 16 | 17 | - `font/opentype` - This type is technically invalid according to the spec. No valid types begin with `font/`. No-one uses the official type of `application/vnd.ms-opentype` as the community standardized `application/x-font-otf`. However, chrome logs nonsense warnings unless opentype fonts are served with `font/opentype`. [[1]](http://stackoverflow.com/questions/2871655/proper-mime-type-for-fonts) 18 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mime-types", 3 | "description": "The ultimate javascript content-type utility.", 4 | "version": "0.1.0", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com", 9 | "twitter": "https://twitter.com/jongleberry" 10 | }, 11 | "repository": "expressjs/mime-types", 12 | "license": "MIT", 13 | "main": "lib/index.js", 14 | "scripts": ["lib/index.js"], 15 | "json": ["mime.json", "node.json", "custom.json"] 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/lib/custom.json: -------------------------------------------------------------------------------- 1 | { 2 | "text/jade": [ 3 | "jade" 4 | ], 5 | "text/stylus": [ 6 | "stylus", 7 | "styl" 8 | ], 9 | "text/less": [ 10 | "less" 11 | ], 12 | "text/x-sass": [ 13 | "sass" 14 | ], 15 | "text/x-scss": [ 16 | "scss" 17 | ], 18 | "text/coffeescript": [ 19 | "coffee" 20 | ], 21 | "text/x-handlebars-template": [ 22 | "hbs" 23 | ], 24 | "text/jsx": [ 25 | "jsx" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/mime-types/lib/node.json: -------------------------------------------------------------------------------- 1 | { 2 | "text/vtt": [ 3 | "vtt" 4 | ], 5 | "application/x-chrome-extension": [ 6 | "crx" 7 | ], 8 | "text/x-component": [ 9 | "htc" 10 | ], 11 | "text/cache-manifest": [ 12 | "manifest" 13 | ], 14 | "application/octet-stream": [ 15 | "buffer" 16 | ], 17 | "application/mp4": [ 18 | "m4p" 19 | ], 20 | "audio/mp4": [ 21 | "m4a" 22 | ], 23 | "video/MP2T": [ 24 | "ts" 25 | ], 26 | "application/x-web-app-manifest+json": [ 27 | "webapp" 28 | ], 29 | "text/x-lua": [ 30 | "lua" 31 | ], 32 | "application/x-lua-bytecode": [ 33 | "luac" 34 | ], 35 | "text/x-markdown": [ 36 | "markdown", 37 | "md", 38 | "mkd" 39 | ], 40 | "text/plain": [ 41 | "ini" 42 | ], 43 | "application/dash+xml": [ 44 | "mdp" 45 | ], 46 | "font/opentype": [ 47 | "otf" 48 | ], 49 | "application/json": [ 50 | "map" 51 | ], 52 | "application/xml": [ 53 | "xsd" 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/negotiator/.npmignore: -------------------------------------------------------------------------------- 1 | examples 2 | test 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE: -------------------------------------------------------------------------------- 1 | Original "Negotiator" program Copyright Federico Romero 2 | Port to JavaScript Copyright Isaac Z. Schlueter 3 | 4 | All rights reserved. 5 | 6 | MIT License 7 | 8 | Permission is hereby granted, free of charge, to any person 9 | obtaining a copy of this software and associated documentation 10 | files (the "Software"), to deal in the Software without 11 | restriction, including without limitation the rights to use, 12 | copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the 14 | Software is furnished to do so, subject to the following 15 | conditions: 16 | 17 | The above copyright notice and this permission notice shall be 18 | included in all copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 22 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 24 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 25 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 26 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 27 | OTHER DEALINGS IN THE SOFTWARE. 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/accepts/node_modules/negotiator/lib/negotiator.js: -------------------------------------------------------------------------------- 1 | module.exports = Negotiator; 2 | Negotiator.Negotiator = Negotiator; 3 | 4 | function Negotiator(request) { 5 | if (!(this instanceof Negotiator)) return new Negotiator(request); 6 | this.request = request; 7 | } 8 | 9 | var set = { charset: 'accept-charset', 10 | encoding: 'accept-encoding', 11 | language: 'accept-language', 12 | mediaType: 'accept' }; 13 | 14 | 15 | function capitalize(string){ 16 | return string.charAt(0).toUpperCase() + string.slice(1); 17 | } 18 | 19 | Object.keys(set).forEach(function (k) { 20 | var header = set[k], 21 | method = require('./'+k+'.js'), 22 | singular = k, 23 | plural = k + 's'; 24 | 25 | Negotiator.prototype[plural] = function (available) { 26 | return method(this.request.headers[header], available); 27 | }; 28 | 29 | Negotiator.prototype[singular] = function(available) { 30 | var set = this[plural](available); 31 | if (set) return set[0]; 32 | }; 33 | 34 | // Keep preferred* methods for legacy compatibility 35 | Negotiator.prototype['preferred'+capitalize(plural)] = Negotiator.prototype[plural]; 36 | Negotiator.prototype['preferred'+capitalize(singular)] = Negotiator.prototype[singular]; 37 | }) 38 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/buffer-crc32/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /node_modules/express/node_modules/buffer-crc32/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | notifications: 6 | email: 7 | recipients: 8 | - brianloveswords@gmail.com -------------------------------------------------------------------------------- /node_modules/express/node_modules/buffer-crc32/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Brian J. Brennan 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to use, 6 | copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the 7 | Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 14 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 15 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 16 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 17 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 18 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2014-06-25 2 | ================== 3 | 4 | * corrected avoidance of timing attacks (thanks @tenbits!) 5 | 6 | 7 | 1.0.3 / 2014-01-28 8 | ================== 9 | 10 | * [incorrect] fix for timing attacks 11 | 12 | 1.0.2 / 2014-01-28 13 | ================== 14 | 15 | * fix missing repository warning 16 | * fix typo in test 17 | 18 | 1.0.1 / 2013-04-15 19 | ================== 20 | 21 | * Revert "Changed underlying HMAC algo. to sha512." 22 | * Revert "Fix for timing attacks on MAC verification." 23 | 24 | 0.0.1 / 2010-01-03 25 | ================== 26 | 27 | * Initial release 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --require should \ 5 | --reporter spec 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie-signature/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var crypto = require('crypto'); 6 | 7 | /** 8 | * Sign the given `val` with `secret`. 9 | * 10 | * @param {String} val 11 | * @param {String} secret 12 | * @return {String} 13 | * @api private 14 | */ 15 | 16 | exports.sign = function(val, secret){ 17 | if ('string' != typeof val) throw new TypeError('cookie required'); 18 | if ('string' != typeof secret) throw new TypeError('secret required'); 19 | return val + '.' + crypto 20 | .createHmac('sha256', secret) 21 | .update(val) 22 | .digest('base64') 23 | .replace(/\=+$/, ''); 24 | }; 25 | 26 | /** 27 | * Unsign and decode the given `val` with `secret`, 28 | * returning `false` if the signature is invalid. 29 | * 30 | * @param {String} val 31 | * @param {String} secret 32 | * @return {String|Boolean} 33 | * @api private 34 | */ 35 | 36 | exports.unsign = function(val, secret){ 37 | if ('string' != typeof val) throw new TypeError('cookie required'); 38 | if ('string' != typeof secret) throw new TypeError('secret required'); 39 | var str = val.slice(0, val.lastIndexOf('.')) 40 | , mac = exports.sign(str, secret); 41 | 42 | return sha1(mac) == sha1(val) ? str : false; 43 | }; 44 | 45 | /** 46 | * Private 47 | */ 48 | 49 | function sha1(str){ 50 | return crypto.createHash('sha1').update(str).digest('hex'); 51 | } 52 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .travis.yml 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/LICENSE: -------------------------------------------------------------------------------- 1 | // MIT License 2 | 3 | Copyright (C) Roman Shtylman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/cookie/README.md: -------------------------------------------------------------------------------- 1 | # cookie [![Build Status](https://secure.travis-ci.org/defunctzombie/node-cookie.png?branch=master)](http://travis-ci.org/defunctzombie/node-cookie) # 2 | 3 | cookie is a basic cookie parser and serializer. It doesn't make assumptions about how you are going to deal with your cookies. It basically just provides a way to read and write the HTTP cookie headers. 4 | 5 | See [RFC6265](http://tools.ietf.org/html/rfc6265) for details about the http header for cookies. 6 | 7 | ## how? 8 | 9 | ``` 10 | npm install cookie 11 | ``` 12 | 13 | ```javascript 14 | var cookie = require('cookie'); 15 | 16 | var hdr = cookie.serialize('foo', 'bar'); 17 | // hdr = 'foo=bar'; 18 | 19 | var cookies = cookie.parse('foo=bar; cat=meow; dog=ruff'); 20 | // cookies = { foo: 'bar', cat: 'meow', dog: 'ruff' }; 21 | ``` 22 | 23 | ## more 24 | 25 | The serialize function takes a third parameter, an object, to set cookie options. See the RFC for valid values. 26 | 27 | ### path 28 | > cookie path 29 | 30 | ### expires 31 | > absolute expiration date for the cookie (Date object) 32 | 33 | ### maxAge 34 | > relative max age of the cookie from when the client receives it (seconds) 35 | 36 | ### domain 37 | > domain for the cookie 38 | 39 | ### secure 40 | > true or false 41 | 42 | ### httpOnly 43 | > true or false 44 | 45 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "laxbreak": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | 2 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 3 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 4 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 5 | 6 | # BIN directory 7 | BIN := $(THIS_DIR)/node_modules/.bin 8 | 9 | # applications 10 | NODE ?= $(shell which node) 11 | NPM ?= $(NODE) $(shell which npm) 12 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 13 | 14 | all: dist/debug.js 15 | 16 | install: node_modules 17 | 18 | clean: 19 | @rm -rf node_modules dist 20 | 21 | dist: 22 | @mkdir -p $@ 23 | 24 | dist/debug.js: node_modules browser.js debug.js dist 25 | @$(BROWSERIFY) \ 26 | --standalone debug \ 27 | . > $@ 28 | 29 | node_modules: package.json 30 | @NODE_ENV= $(NPM) install 31 | @touch node_modules 32 | 33 | .PHONY: all install clean 34 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "1.0.2", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "browser.js", 12 | "scripts": [ 13 | "browser.js", 14 | "debug.js" 15 | ], 16 | "dependencies": { 17 | "guille/ms.js": "0.6.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/debug/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('1d') // 86400000 5 | ms('10h') // 36000000 6 | ms('2h') // 7200000 7 | ms('1m') // 60000 8 | ms('5s') // 5000 9 | ms('100') // 100 10 | ``` 11 | 12 | ```js 13 | ms(60000) // "1m" 14 | ms(2 * 60000) // "2m" 15 | ms(ms('10 hours')) // "10h" 16 | ``` 17 | 18 | ```js 19 | ms(60000, { long: true }) // "1 minute" 20 | ms(2 * 60000, { long: true }) // "2 minutes" 21 | ms(ms('10 hours', { long: true })) // "10 hours" 22 | ``` 23 | 24 | - Node/Browser compatible. Published as `ms` in NPM. 25 | - If a number is supplied to `ms`, a string with a unit is returned. 26 | - If a string that contains the number is supplied, it returns it as 27 | a number (e.g: it returns `100` for `'100'`). 28 | - If you pass a string with a number and a valid unit, the number of 29 | equivalent ms is returned. 30 | 31 | ## License 32 | 33 | MIT -------------------------------------------------------------------------------- /node_modules/express/node_modules/depd/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | files/ 3 | test/ 4 | .travis.yml 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/depd/History.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-06-16 2 | ================== 3 | 4 | * Add `NO_DEPRECATION` environment variable 5 | 6 | 0.2.0 / 2014-06-15 7 | ================== 8 | 9 | * Add `deprecate.property(obj, prop, message)` 10 | * Remove `supports-color` dependency for node.js 0.8 11 | 12 | 0.1.0 / 2014-06-15 13 | ================== 14 | 15 | * Add `deprecate.function(fn, message)` 16 | * Add `process.on('deprecation', fn)` emitter 17 | * Automatically generate message when omitted from `deprecate()` 18 | 19 | 0.0.1 / 2014-06-15 20 | ================== 21 | 22 | * Fix warning for dynamic calls at singe call site 23 | 24 | 0.0.0 / 2014-06-15 25 | ================== 26 | 27 | * Initial implementation 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/.npmignore: -------------------------------------------------------------------------------- 1 | components 2 | build 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: components index.js 3 | @component build 4 | 5 | components: 6 | @Component install 7 | 8 | clean: 9 | rm -fr build components template.js 10 | 11 | .PHONY: clean 12 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape HTML entities 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | escape(str); 11 | ``` 12 | 13 | ## License 14 | 15 | MIT -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape HTML entities", 4 | "version": "1.0.1", 5 | "keywords": ["escape", "html", "utility"], 6 | "dependencies": {}, 7 | "scripts": [ 8 | "index.js" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Escape special characters in the given string of html. 3 | * 4 | * @param {String} html 5 | * @return {String} 6 | * @api private 7 | */ 8 | 9 | module.exports = function(html) { 10 | return String(html) 11 | .replace(/&/g, '&') 12 | .replace(/"/g, '"') 13 | .replace(/'/g, ''') 14 | .replace(//g, '>'); 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/escape-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape HTML entities", 4 | "version": "1.0.1", 5 | "keywords": [ 6 | "escape", 7 | "html", 8 | "utility" 9 | ], 10 | "dependencies": {}, 11 | "main": "index.js", 12 | "component": { 13 | "scripts": { 14 | "escape-html/index.js": "index.js" 15 | } 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/component/escape-html.git" 20 | }, 21 | "readme": "\n# escape-html\n\n Escape HTML entities\n\n## Example\n\n```js\nvar escape = require('escape-html');\nescape(str);\n```\n\n## License\n\n MIT", 22 | "readmeFilename": "Readme.md", 23 | "bugs": { 24 | "url": "https://github.com/component/escape-html/issues" 25 | }, 26 | "homepage": "https://github.com/component/escape-html", 27 | "_id": "escape-html@1.0.1", 28 | "dist": { 29 | "shasum": "8f950aeaaaf990cd6fc3915a6a96616809f6a3da" 30 | }, 31 | "_from": "escape-html@1.0.1", 32 | "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz" 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/finalhandler/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/finalhandler/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.0.2 / 2014-06-19 2 | ================== 3 | 4 | * Handle invalid status codes 5 | 6 | 0.0.1 / 2014-06-05 7 | ================== 8 | 9 | * deps: debug@1.0.2 10 | 11 | 0.0.0 / 2014-06-05 12 | ================== 13 | 14 | * Extracted from connect/express 15 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.2.1 / 2014-01-29 3 | ================== 4 | 5 | * fix: support max-age=0 for end-to-end revalidation 6 | 7 | 0.2.0 / 2013-08-11 8 | ================== 9 | 10 | * fix: return false for no-cache 11 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --reporter spec \ 5 | --require should 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/fresh/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Expose `fresh()`. 4 | */ 5 | 6 | module.exports = fresh; 7 | 8 | /** 9 | * Check freshness of `req` and `res` headers. 10 | * 11 | * When the cache is "fresh" __true__ is returned, 12 | * otherwise __false__ is returned to indicate that 13 | * the cache is now stale. 14 | * 15 | * @param {Object} req 16 | * @param {Object} res 17 | * @return {Boolean} 18 | * @api public 19 | */ 20 | 21 | function fresh(req, res) { 22 | // defaults 23 | var etagMatches = true; 24 | var notModified = true; 25 | 26 | // fields 27 | var modifiedSince = req['if-modified-since']; 28 | var noneMatch = req['if-none-match']; 29 | var lastModified = res['last-modified']; 30 | var etag = res['etag']; 31 | var cc = req['cache-control']; 32 | 33 | // unconditional request 34 | if (!modifiedSince && !noneMatch) return false; 35 | 36 | // check for no-cache cache request directive 37 | if (cc && cc.indexOf('no-cache') !== -1) return false; 38 | 39 | // parse if-none-match 40 | if (noneMatch) noneMatch = noneMatch.split(/ *, */); 41 | 42 | // if-none-match 43 | if (noneMatch) etagMatches = ~noneMatch.indexOf(etag) || '*' == noneMatch[0]; 44 | 45 | // if-modified-since 46 | if (modifiedSince) { 47 | modifiedSince = new Date(modifiedSince); 48 | lastModified = new Date(lastModified); 49 | notModified = lastModified <= modifiedSince; 50 | } 51 | 52 | return !! (etagMatches && notModified); 53 | } -------------------------------------------------------------------------------- /node_modules/express/node_modules/media-typer/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.2.0 / 2014-06-18 2 | ================== 3 | 4 | * Add `typer.format()` to format media types 5 | 6 | 0.1.0 / 2014-06-17 7 | ================== 8 | 9 | * Accept `req` as argument to `parse` 10 | * Accept `res` as argument to `parse` 11 | * Parse media type with extra LWS between type and first parameter 12 | 13 | 0.0.0 / 2014-06-13 14 | ================== 15 | 16 | * Initial implementation 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/.npmignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | 10 | # Packages # 11 | ############ 12 | # it's better to unpack these files and commit the raw source 13 | # git has its own built in compression methods 14 | *.7z 15 | *.dmg 16 | *.gz 17 | *.iso 18 | *.jar 19 | *.rar 20 | *.tar 21 | *.zip 22 | 23 | # Logs and databases # 24 | ###################### 25 | *.log 26 | *.sql 27 | *.sqlite 28 | 29 | # OS generated files # 30 | ###################### 31 | .DS_Store* 32 | ehthumbs.db 33 | Icon? 34 | Thumbs.db 35 | 36 | # Node.js # 37 | ########### 38 | lib-cov 39 | *.seed 40 | *.log 41 | *.csv 42 | *.dat 43 | *.out 44 | *.pid 45 | *.gz 46 | 47 | pids 48 | logs 49 | results 50 | 51 | node_modules 52 | npm-debug.log 53 | 54 | # Components # 55 | ############## 56 | 57 | /build 58 | /components 59 | /vendors -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "merge-descriptors", 3 | "description": "Merge objects using descriptors", 4 | "version": "0.0.2", 5 | "scripts": [ 6 | "index.js" 7 | ], 8 | "repo": "component/merge-descriptors", 9 | "license": "MIT" 10 | } -------------------------------------------------------------------------------- /node_modules/express/node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (dest, src) { 2 | Object.getOwnPropertyNames(src).forEach(function (name) { 3 | var descriptor = Object.getOwnPropertyDescriptor(src, name) 4 | Object.defineProperty(dest, name, descriptor) 5 | }) 6 | 7 | return dest 8 | } -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.1 / 2014-06-02 3 | ================== 4 | 5 | * fix index.js to work with harmony transform 6 | 7 | 1.0.0 / 2014-05-08 8 | ================== 9 | 10 | * add PURGE. Closes #9 11 | 12 | 0.1.0 / 2013-10-28 13 | ================== 14 | 15 | * add http.METHODS support 16 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013-2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # Methods 3 | 4 | HTTP verbs that node core's parser supports. 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/index.js: -------------------------------------------------------------------------------- 1 | 2 | var http = require('http'); 3 | 4 | if (http.METHODS) { 5 | 6 | module.exports = http.METHODS.map(function(method){ 7 | return method.toLowerCase(); 8 | }); 9 | 10 | } else { 11 | 12 | module.exports = [ 13 | 'get', 14 | 'post', 15 | 'put', 16 | 'head', 17 | 'delete', 18 | 'options', 19 | 'trace', 20 | 'copy', 21 | 'lock', 22 | 'mkcol', 23 | 'move', 24 | 'purge', 25 | 'propfind', 26 | 'proppatch', 27 | 'unlock', 28 | 'report', 29 | 'mkactivity', 30 | 'checkout', 31 | 'merge', 32 | 'm-search', 33 | 'notify', 34 | 'subscribe', 35 | 'unsubscribe', 36 | 'patch', 37 | 'search' 38 | ]; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "methods", 3 | "version": "1.0.1", 4 | "description": "HTTP methods that node supports", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "./node_modules/mocha/bin/mocha" 8 | }, 9 | "keywords": [ 10 | "http", 11 | "methods" 12 | ], 13 | "author": { 14 | "name": "TJ Holowaychuk" 15 | }, 16 | "license": "MIT", 17 | "repository": { 18 | "type": "git", 19 | "url": "git://github.com/visionmedia/node-methods.git" 20 | }, 21 | "devDependencies": { 22 | "mocha": "1.17.x" 23 | }, 24 | "readme": "\n# Methods\n\n HTTP verbs that node core's parser supports.\n", 25 | "readmeFilename": "Readme.md", 26 | "bugs": { 27 | "url": "https://github.com/visionmedia/node-methods/issues" 28 | }, 29 | "homepage": "https://github.com/visionmedia/node-methods", 30 | "_id": "methods@1.0.1", 31 | "dist": { 32 | "shasum": "14603c7463efb559b60202668407cf214fd41fb9" 33 | }, 34 | "_from": "methods@1.0.1", 35 | "_resolved": "https://registry.npmjs.org/methods/-/methods-1.0.1.tgz" 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/methods/test/methods.js: -------------------------------------------------------------------------------- 1 | var http = require('http'); 2 | var assert = require('assert'); 3 | var methods = require('..'); 4 | 5 | describe('methods', function() { 6 | 7 | if (http.METHODS) { 8 | 9 | it('is a lowercased http.METHODS', function() { 10 | var lowercased = http.METHODS.map(function(method) { 11 | return method.toLowerCase(); 12 | }); 13 | assert.deepEqual(lowercased, methods); 14 | }); 15 | 16 | } else { 17 | 18 | it('contains GET, POST, PUT, and DELETE', function() { 19 | assert.notEqual(methods.indexOf('get'), -1); 20 | assert.notEqual(methods.indexOf('post'), -1); 21 | assert.notEqual(methods.indexOf('put'), -1); 22 | assert.notEqual(methods.indexOf('delete'), -1); 23 | }); 24 | 25 | it('is all lowercase', function() { 26 | for (var i = 0; i < methods.length; i ++) { 27 | assert(methods[i], methods[i].toLowerCase(), methods[i] + " isn't all lowercase"); 28 | } 29 | }); 30 | 31 | } 32 | 33 | }); 34 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/parseurl/.npmignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | 10 | # Packages # 11 | ############ 12 | # it's better to unpack these files and commit the raw source 13 | # git has its own built in compression methods 14 | *.7z 15 | *.dmg 16 | *.gz 17 | *.iso 18 | *.jar 19 | *.rar 20 | *.tar 21 | *.zip 22 | 23 | # Logs and databases # 24 | ###################### 25 | *.log 26 | *.sql 27 | *.sqlite 28 | 29 | # OS generated files # 30 | ###################### 31 | .DS_Store* 32 | # Icon? 33 | ehthumbs.db 34 | Thumbs.db 35 | 36 | # Node.js # 37 | ########### 38 | lib-cov 39 | *.seed 40 | *.log 41 | *.csv 42 | *.dat 43 | *.out 44 | *.pid 45 | *.gz 46 | 47 | pids 48 | logs 49 | results 50 | 51 | node_modules 52 | npm-debug.log 53 | 54 | # Components # 55 | ############## 56 | 57 | /build 58 | /components 59 | /public -------------------------------------------------------------------------------- /node_modules/express/node_modules/parseurl/README.md: -------------------------------------------------------------------------------- 1 | # parseurl 2 | 3 | Parse a URL with memoization. 4 | 5 | ## API 6 | 7 | ### var pathname = parseurl(req) 8 | 9 | `pathname` can then be passed to a router or something. 10 | 11 | ## LICENSE 12 | 13 | (The MIT License) 14 | 15 | Copyright (c) 2014 Jonathan Ong 16 | 17 | Permission is hereby granted, free of charge, to any person obtaining 18 | a copy of this software and associated documentation files (the 19 | 'Software'), to deal in the Software without restriction, including 20 | without limitation the rights to use, copy, modify, merge, publish, 21 | distribute, sublicense, and/or sell copies of the Software, and to 22 | permit persons to whom the Software is furnished to do so, subject to 23 | the following conditions: 24 | 25 | The above copyright notice and this permission notice shall be 26 | included in all copies or substantial portions of the Software. 27 | 28 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 29 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 30 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 31 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 32 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 33 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 34 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/express/node_modules/parseurl/index.js: -------------------------------------------------------------------------------- 1 | 2 | var parse = require('url').parse; 3 | 4 | /** 5 | * Parse the `req` url with memoization. 6 | * 7 | * @param {ServerRequest} req 8 | * @return {Object} 9 | * @api private 10 | */ 11 | 12 | module.exports = function parseUrl(req){ 13 | var parsed = req._parsedUrl; 14 | if (parsed && parsed.href == req.url) { 15 | return parsed; 16 | } else { 17 | parsed = parse(req.url); 18 | 19 | if (parsed.auth && !parsed.protocol && ~parsed.href.indexOf('//')) { 20 | // This parses pathnames, and a strange pathname like //r@e should work 21 | parsed = parse(req.url.replace(/@/g, '%40')); 22 | } 23 | 24 | return req._parsedUrl = parsed; 25 | } 26 | }; 27 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 2 | 0.1.0 / 2014-03-06 3 | ================== 4 | 5 | * add options.end 6 | 7 | 0.0.2 / 2013-02-10 8 | ================== 9 | 10 | * Update to match current express 11 | * add .license property to component.json 12 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # Path-to-RegExp 3 | 4 | Turn an Express-style path string such as `/user/:name` into a regular expression. 5 | 6 | ## Usage 7 | 8 | ```javascript 9 | var pathToRegexp = require('path-to-regexp'); 10 | ``` 11 | ### pathToRegexp(path, keys, options) 12 | 13 | - **path** A string in the express format, an array of such strings, or a regular expression 14 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. 15 | - **options** 16 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive 17 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter. 18 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL. 19 | 20 | ```javascript 21 | var keys = []; 22 | var exp = pathToRegexp('/foo/:bar', keys); 23 | //keys = ['bar'] 24 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i 25 | ``` 26 | 27 | ## Live Demo 28 | 29 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). 30 | 31 | ## License 32 | 33 | MIT -------------------------------------------------------------------------------- /node_modules/express/node_modules/path-to-regexp/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "path-to-regexp", 3 | "description": "Express style path to RegExp utility", 4 | "version": "0.1.0", 5 | "keywords": [ 6 | "express", 7 | "regexp", 8 | "route", 9 | "routing" 10 | ], 11 | "scripts": [ 12 | "index.js" 13 | ], 14 | "license": "MIT" 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark/ 2 | coverage/ 3 | test/ 4 | .travis.yml 5 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/History.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2014-06-03 2 | ================== 3 | 4 | * Fix links in npm package 5 | 6 | 1.0.0 / 2014-05-08 7 | ================== 8 | 9 | * Add `trust` argument to determine proxy trust on 10 | * Accepts custom function 11 | * Accepts IPv4/IPv6 address(es) 12 | * Accepts subnets 13 | * Accepts pre-defined names 14 | * Add optional `trust` argument to `proxyaddr.all` to 15 | stop at first untrusted 16 | * Add `proxyaddr.compile` to pre-compile `trust` function 17 | to make subsequent calls faster 18 | 19 | 0.0.1 / 2014-05-04 20 | ================== 21 | 22 | * Fix bad npm publish 23 | 24 | 0.0.0 / 2014-05-04 25 | ================== 26 | 27 | * Initial release 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/Cakefile: -------------------------------------------------------------------------------- 1 | fs = require 'fs' 2 | CoffeeScript = require 'coffee-script' 3 | nodeunit = require 'nodeunit' 4 | UglifyJS = require 'uglify-js' 5 | 6 | task 'build', 'build the JavaScript files from CoffeeScript source', build = (cb) -> 7 | source = fs.readFileSync 'src/ipaddr.coffee' 8 | fs.writeFileSync 'lib/ipaddr.js', CoffeeScript.compile source.toString() 9 | 10 | invoke 'test' 11 | invoke 'compress' 12 | 13 | task 'test', 'run the bundled tests', (cb) -> 14 | nodeunit.reporters.default.run ['test'] 15 | 16 | task 'compress', 'uglify the resulting javascript', (cb) -> 17 | result = UglifyJS.minify('lib/ipaddr.js') 18 | fs.writeFileSync('ipaddr.min.js', result.code) 19 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Peter Zotov 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "support/expresso"] 2 | path = support/expresso 3 | url = git://github.com/visionmedia/expresso.git 4 | [submodule "support/should"] 5 | path = support/should 6 | url = git://github.com/visionmedia/should.js.git 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/qs/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .travis.yml 3 | benchmark.js 4 | component.json 5 | examples.js 6 | History.md 7 | Makefile 8 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.0 / 2013-12-11 3 | ================== 4 | 5 | * add repository to package.json 6 | * add MIT license 7 | 8 | 0.0.4 / 2012-06-17 9 | ================== 10 | 11 | * changed: ret -1 for unsatisfiable and -2 when invalid 12 | 13 | 0.0.3 / 2012-06-17 14 | ================== 15 | 16 | * fix last-byte-pos default to len - 1 17 | 18 | 0.0.2 / 2012-06-14 19 | ================== 20 | 21 | * add `.type` 22 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @./node_modules/.bin/mocha \ 4 | --reporter spec \ 5 | --require should 6 | 7 | .PHONY: test -------------------------------------------------------------------------------- /node_modules/express/node_modules/range-parser/index.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Parse "Range" header `str` relative to the given file `size`. 4 | * 5 | * @param {Number} size 6 | * @param {String} str 7 | * @return {Array} 8 | * @api public 9 | */ 10 | 11 | module.exports = function(size, str){ 12 | var valid = true; 13 | var i = str.indexOf('='); 14 | 15 | if (-1 == i) return -2; 16 | 17 | var arr = str.slice(i + 1).split(',').map(function(range){ 18 | var range = range.split('-') 19 | , start = parseInt(range[0], 10) 20 | , end = parseInt(range[1], 10); 21 | 22 | // -nnn 23 | if (isNaN(start)) { 24 | start = size - end; 25 | end = size - 1; 26 | // nnn- 27 | } else if (isNaN(end)) { 28 | end = size - 1; 29 | } 30 | 31 | // limit last-byte-pos to current length 32 | if (end > size - 1) end = size - 1; 33 | 34 | // invalid 35 | if (isNaN(start) 36 | || isNaN(end) 37 | || start > end 38 | || start < 0) valid = false; 39 | 40 | return { 41 | start: start, 42 | end: end 43 | }; 44 | }); 45 | 46 | arr.type = str.slice(0, i); 47 | 48 | return valid ? arr : -1; 49 | }; -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/.npmignore: -------------------------------------------------------------------------------- 1 | coverage 2 | test 3 | examples 4 | .travis.yml 5 | *.sock 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./lib/send'); 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/lib/utils.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Module dependencies. 4 | */ 5 | 6 | var crypto = require('crypto'); 7 | 8 | /** 9 | * Return a weak ETag from the given `path` and `stat`. 10 | * 11 | * @param {String} path 12 | * @param {Object} stat 13 | * @return {String} 14 | * @api private 15 | */ 16 | 17 | exports.etag = function etag(path, stat) { 18 | var tag = String(stat.mtime.getTime()) + ':' + String(stat.size) + ':' + path; 19 | var str = crypto 20 | .createHash('md5') 21 | .update(tag, 'utf8') 22 | .digest('base64'); 23 | return 'W/"' + str + '"'; 24 | }; 25 | 26 | /** 27 | * decodeURIComponent. 28 | * 29 | * Allows V8 to only deoptimize this fn instead of all 30 | * of send(). 31 | * 32 | * @param {String} path 33 | * @api private 34 | */ 35 | 36 | exports.decode = function(path){ 37 | try { 38 | return decodeURIComponent(path); 39 | } catch (err) { 40 | return -1; 41 | } 42 | }; 43 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.2.2 / 2014-06-10 2 | ========== 3 | 4 | * reduce listeners added to emitters 5 | - avoids "event emitter leak" warnings when used multiple times on same request 6 | 7 | 1.2.1 / 2014-06-08 8 | ================== 9 | 10 | * fix returned value when already finished 11 | 12 | 1.2.0 / 2014-06-05 13 | ================== 14 | 15 | * call callback when called on already-finished socket 16 | 17 | 1.1.4 / 2014-05-27 18 | ================== 19 | 20 | * support node.js 0.8 21 | 22 | 1.1.3 / 2014-04-30 23 | ================== 24 | 25 | * make sure errors passed as instanceof `Error` 26 | 27 | 1.1.2 / 2014-04-18 28 | ================== 29 | 30 | * default the `socket` to passed-in object 31 | 32 | 1.1.1 / 2014-01-16 33 | ================== 34 | 35 | * rename module to `finished` 36 | 37 | 1.1.0 / 2013-12-25 38 | ================== 39 | 40 | * call callback when called on already-errored socket 41 | 42 | 1.0.1 / 2013-12-20 43 | ================== 44 | 45 | * actually pass the error to the callback 46 | 47 | 1.0.0 / 2013-12-20 48 | ================== 49 | 50 | * Initial release 51 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * finished 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module dependencies. 9 | */ 10 | 11 | var first = require('ee-first') 12 | 13 | /** 14 | * Variables. 15 | */ 16 | 17 | /* istanbul ignore next */ 18 | var defer = typeof setImmediate === 'function' 19 | ? setImmediate 20 | : function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) } 21 | 22 | /** 23 | * Invoke callback when the response has finished, useful for 24 | * cleaning up resources afterwards. 25 | * 26 | * @param {object} thingie 27 | * @param {function} callback 28 | * @return {object} 29 | * @api public 30 | */ 31 | 32 | module.exports = function finished(thingie, callback) { 33 | var socket = thingie.socket || thingie 34 | var res = thingie.res || thingie 35 | 36 | if (res.finished || !socket.writable) { 37 | defer(callback) 38 | return thingie 39 | } 40 | 41 | var listener = res.__onFinished 42 | 43 | // create a private single listener with queue 44 | if (!listener || !listener.queue) { 45 | listener = res.__onFinished = function onFinished(err) { 46 | if (res.__onFinished === listener) res.__onFinished = null 47 | var queue = listener.queue || [] 48 | while (queue.length) queue.shift()(err) 49 | } 50 | listener.queue = [] 51 | 52 | // finished on first event 53 | first([ 54 | [socket, 'error', 'close'], 55 | [res, 'finish'], 56 | ], listener) 57 | } 58 | 59 | listener.queue.push(callback) 60 | 61 | return thingie 62 | } 63 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/node_modules/ee-first/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store* 2 | node_modules 3 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/node_modules/ee-first/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/node_modules/ee-first/README.md: -------------------------------------------------------------------------------- 1 | 2 | # EE First 3 | 4 | Get the first event in a set of event emitters and event pairs, 5 | then clean up after itself. 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/node_modules/ee-first/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = function first(stuff, done) { 3 | if (!Array.isArray(stuff)) 4 | throw new TypeError('arg must be an array of [ee, events...] arrays') 5 | 6 | var cleanups = [] 7 | 8 | for (var i = 0; i < stuff.length; i++) { 9 | var arr = stuff[i] 10 | 11 | if (!Array.isArray(arr) || arr.length < 2) 12 | throw new TypeError('each array member must be [ee, events...]') 13 | 14 | var ee = arr[0] 15 | 16 | for (var j = 1; j < arr.length; j++) { 17 | var event = arr[j] 18 | var fn = listener(event, cleanup) 19 | 20 | // listen to the event 21 | ee.on(event, fn) 22 | // push this listener to the list of cleanups 23 | cleanups.push({ 24 | ee: ee, 25 | event: event, 26 | fn: fn, 27 | }) 28 | } 29 | } 30 | 31 | return function (fn) { 32 | done = fn 33 | } 34 | 35 | function cleanup() { 36 | var x 37 | for (var i = 0; i < cleanups.length; i++) { 38 | x = cleanups[i] 39 | x.ee.removeListener(x.event, x.fn) 40 | } 41 | done.apply(null, arguments) 42 | } 43 | } 44 | 45 | function listener(event, done) { 46 | return function onevent(arg1) { 47 | var args = new Array(arguments.length) 48 | var ee = this 49 | var err = event === 'error' 50 | ? arg1 51 | : null 52 | 53 | // copy args to prevent arguments escaping scope 54 | for (var i = 0; i < args.length; i++) { 55 | args[i] = arguments[i] 56 | } 57 | 58 | done(err, ee, event, args) 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/finished/node_modules/ee-first/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ee-first", 3 | "description": "return the first event in a set of ee/event pairs", 4 | "version": "1.0.3", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com" 9 | }, 10 | "license": "MIT", 11 | "repository": { 12 | "type": "git", 13 | "url": "git://github.com/jonathanong/ee-first" 14 | }, 15 | "devDependencies": { 16 | "mocha": "1" 17 | }, 18 | "scripts": { 19 | "test": "mocha --reporter spec" 20 | }, 21 | "readme": "\n# EE First\n\nGet the first event in a set of event emitters and event pairs,\nthen clean up after itself.\n", 22 | "readmeFilename": "README.md", 23 | "bugs": { 24 | "url": "https://github.com/jonathanong/ee-first/issues" 25 | }, 26 | "homepage": "https://github.com/jonathanong/ee-first", 27 | "_id": "ee-first@1.0.3", 28 | "dist": { 29 | "shasum": "b3109eb840a3f025b545c3caae3fcfd593dbe52d" 30 | }, 31 | "_from": "ee-first@1.0.3", 32 | "_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz" 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/ms/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test 3 | History.md 4 | Makefile 5 | component.json 6 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/send/node_modules/ms/README.md: -------------------------------------------------------------------------------- 1 | # ms.js: miliseconds conversion utility 2 | 3 | ```js 4 | ms('1d') // 86400000 5 | ms('10h') // 36000000 6 | ms('2h') // 7200000 7 | ms('1m') // 60000 8 | ms('5s') // 5000 9 | ms('100') // 100 10 | ``` 11 | 12 | ```js 13 | ms(60000) // "1m" 14 | ms(2 * 60000) // "2m" 15 | ms(ms('10 hours')) // "10h" 16 | ``` 17 | 18 | ```js 19 | ms(60000, { long: true }) // "1 minute" 20 | ms(2 * 60000, { long: true }) // "2 minutes" 21 | ms(ms('10 hours', { long: true })) // "10 hours" 22 | ``` 23 | 24 | - Node/Browser compatible. Published as `ms` in NPM. 25 | - If a number is supplied to `ms`, a string with a unit is returned. 26 | - If a string that contains the number is supplied, it returns it as 27 | a number (e.g: it returns `100` for `'100'`). 28 | - If you pass a string with a number and a valid unit, the number of 29 | equivalent ms is returned. 30 | 31 | ## License 32 | 33 | MIT -------------------------------------------------------------------------------- /node_modules/express/node_modules/serve-static/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/serve-static/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | Copyright (c) 2014 Douglas Christopher Wilson 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | 'Software'), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/serve-static/node_modules/parseurl/.npmignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | 10 | # Packages # 11 | ############ 12 | # it's better to unpack these files and commit the raw source 13 | # git has its own built in compression methods 14 | *.7z 15 | *.dmg 16 | *.gz 17 | *.iso 18 | *.jar 19 | *.rar 20 | *.tar 21 | *.zip 22 | 23 | # Logs and databases # 24 | ###################### 25 | *.log 26 | *.sql 27 | *.sqlite 28 | 29 | # OS generated files # 30 | ###################### 31 | .DS_Store* 32 | # Icon? 33 | ehthumbs.db 34 | Thumbs.db 35 | 36 | # Node.js # 37 | ########### 38 | lib-cov 39 | *.seed 40 | *.log 41 | *.csv 42 | *.dat 43 | *.out 44 | *.pid 45 | *.gz 46 | 47 | pids 48 | logs 49 | results 50 | 51 | node_modules 52 | npm-debug.log 53 | 54 | # Components # 55 | ############## 56 | 57 | /build 58 | /components 59 | /public -------------------------------------------------------------------------------- /node_modules/express/node_modules/serve-static/node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.3 / 2014-07-08 2 | ================== 3 | 4 | * Fix typo 5 | 6 | 1.1.2 / 2014-07-08 7 | ================== 8 | 9 | * Seriously fix Node.js 0.8 compatibility 10 | 11 | 1.1.1 / 2014-07-08 12 | ================== 13 | 14 | * Fix Node.js 0.8 compatibility 15 | 16 | 1.1.0 / 2014-07-08 17 | ================== 18 | 19 | * Incorporate URL href-only parse fast-path 20 | 21 | 1.0.1 / 2014-03-08 22 | ================== 23 | 24 | * Add missing `require` 25 | 26 | 1.0.0 / 2014-03-08 27 | ================== 28 | 29 | * Genesis from `connect` 30 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/serve-static/node_modules/parseurl/README.md: -------------------------------------------------------------------------------- 1 | # parseurl 2 | 3 | Parse a URL with memoization. 4 | 5 | ## API 6 | 7 | ### var parsedUrl = parseurl(req) 8 | 9 | `parsedUrl` is basically a `url.parse()` object. 10 | 11 | ## LICENSE 12 | 13 | (The MIT License) 14 | 15 | Copyright (c) 2014 Jonathan Ong 16 | 17 | Permission is hereby granted, free of charge, to any person obtaining 18 | a copy of this software and associated documentation files (the 19 | 'Software'), to deal in the Software without restriction, including 20 | without limitation the rights to use, copy, modify, merge, publish, 21 | distribute, sublicense, and/or sell copies of the Software, and to 22 | permit persons to whom the Software is furnished to do so, subject to 23 | the following conditions: 24 | 25 | The above copyright notice and this permission notice shall be 26 | included in all copies or substantial portions of the Software. 27 | 28 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 29 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 30 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 31 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 32 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 33 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 34 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 35 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2 | 1.3.2 / 2014-06-24 3 | ================== 4 | 5 | * use `~` range on mime-types 6 | 7 | 1.3.1 / 2014-06-19 8 | ================== 9 | 10 | * fix global variable leak 11 | 12 | 1.3.0 / 2014-06-19 13 | ================== 14 | 15 | * improve type parsing 16 | 17 | - invalid media type never matches 18 | - media type not case-sensitive 19 | - extra LWS does not affect results 20 | 21 | 1.2.2 / 2014-06-19 22 | ================== 23 | 24 | * fix behavior on unknown type argument 25 | 26 | 1.2.1 / 2014-06-03 27 | ================== 28 | 29 | * switch dependency from `mime` to `mime-types@1.0.0` 30 | 31 | 1.2.0 / 2014-05-11 32 | ================== 33 | 34 | * support suffix matching: 35 | 36 | - `+json` matches `application/vnd+json` 37 | - `*/vnd+json` matches `application/vnd+json` 38 | - `application/*+json` matches `application/vnd+json` 39 | 40 | 1.1.0 / 2014-04-12 41 | ================== 42 | 43 | * add non-array values support 44 | * expose internal utilities: 45 | 46 | - `.is()` 47 | - `.hasBody()` 48 | - `.normalize()` 49 | - `.match()` 50 | 51 | 1.0.1 / 2014-03-30 52 | ================== 53 | 54 | * add `multipart` as a shorthand 55 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | build.js 3 | 4 | # OS generated files # 5 | ###################### 6 | .DS_Store* 7 | # Icon? 8 | ehthumbs.db 9 | Thumbs.db 10 | 11 | # Node.js # 12 | ########### 13 | node_modules 14 | npm-debug.log 15 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.11" 6 | matrix: 7 | allow_failures: 8 | - node_js: "0.11" 9 | fast_finish: true 10 | before_install: 11 | # remove build script deps before install 12 | - node -pe 'f="./package.json";p=require(f);d=p.devDependencies;for(k in d){if("co"===k.substr(0,2))delete d[k]}require("fs").writeFileSync(f,JSON.stringify(p,null,2))' 13 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/Makefile: -------------------------------------------------------------------------------- 1 | 2 | build: 3 | node --harmony-generators build.js 4 | 5 | test: 6 | node test/mime.js 7 | mocha --require should --reporter spec test/test.js 8 | 9 | .PHONY: build test 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/SOURCES.md: -------------------------------------------------------------------------------- 1 | 2 | ### Sources for custom types 3 | 4 | This is a list of sources for any custom mime types. 5 | When adding custom mime types, please link to where you found the mime type, 6 | even if it's from an unofficial source. 7 | 8 | - `text/coffeescript` - http://coffeescript.org/#scripts 9 | - `text/x-handlebars-template` - https://handlebarsjs.com/#getting-started 10 | - `text/x-sass` & `text/x-scss` - https://github.com/janlelis/rubybuntu-mime/blob/master/sass.xml 11 | - `text.jsx` - http://facebook.github.io/react/docs/getting-started.html [[2]](https://github.com/facebook/react/blob/f230e0a03154e6f8a616e0da1fb3d97ffa1a6472/vendor/browser-transforms.js#L210) 12 | 13 | [Sources for node.json types](https://github.com/broofa/node-mime/blob/master/types/node.types) 14 | 15 | ### Notes on weird types 16 | 17 | - `font/opentype` - This type is technically invalid according to the spec. No valid types begin with `font/`. No-one uses the official type of `application/vnd.ms-opentype` as the community standardized `application/x-font-otf`. However, chrome logs nonsense warnings unless opentype fonts are served with `font/opentype`. [[1]](http://stackoverflow.com/questions/2871655/proper-mime-type-for-fonts) 18 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mime-types", 3 | "description": "The ultimate javascript content-type utility.", 4 | "version": "0.1.0", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com", 9 | "twitter": "https://twitter.com/jongleberry" 10 | }, 11 | "repository": "expressjs/mime-types", 12 | "license": "MIT", 13 | "main": "lib/index.js", 14 | "scripts": ["lib/index.js"], 15 | "json": ["mime.json", "node.json", "custom.json"] 16 | } 17 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/lib/custom.json: -------------------------------------------------------------------------------- 1 | { 2 | "text/jade": [ 3 | "jade" 4 | ], 5 | "text/stylus": [ 6 | "stylus", 7 | "styl" 8 | ], 9 | "text/less": [ 10 | "less" 11 | ], 12 | "text/x-sass": [ 13 | "sass" 14 | ], 15 | "text/x-scss": [ 16 | "scss" 17 | ], 18 | "text/coffeescript": [ 19 | "coffee" 20 | ], 21 | "text/x-handlebars-template": [ 22 | "hbs" 23 | ], 24 | "text/jsx": [ 25 | "jsx" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/type-is/node_modules/mime-types/lib/node.json: -------------------------------------------------------------------------------- 1 | { 2 | "text/vtt": [ 3 | "vtt" 4 | ], 5 | "application/x-chrome-extension": [ 6 | "crx" 7 | ], 8 | "text/x-component": [ 9 | "htc" 10 | ], 11 | "text/cache-manifest": [ 12 | "manifest" 13 | ], 14 | "application/octet-stream": [ 15 | "buffer" 16 | ], 17 | "application/mp4": [ 18 | "m4p" 19 | ], 20 | "audio/mp4": [ 21 | "m4a" 22 | ], 23 | "video/MP2T": [ 24 | "ts" 25 | ], 26 | "application/x-web-app-manifest+json": [ 27 | "webapp" 28 | ], 29 | "text/x-lua": [ 30 | "lua" 31 | ], 32 | "application/x-lua-bytecode": [ 33 | "luac" 34 | ], 35 | "text/x-markdown": [ 36 | "markdown", 37 | "md", 38 | "mkd" 39 | ], 40 | "text/plain": [ 41 | "ini" 42 | ], 43 | "application/dash+xml": [ 44 | "mdp" 45 | ], 46 | "font/opentype": [ 47 | "otf" 48 | ], 49 | "application/json": [ 50 | "map" 51 | ], 52 | "application/xml": [ 53 | "xsd" 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/utils-merge/.travis.yml: -------------------------------------------------------------------------------- 1 | language: "node_js" 2 | node_js: 3 | - "0.4" 4 | - "0.6" 5 | - "0.8" 6 | - "0.10" 7 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/utils-merge/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jared Hanson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/utils-merge/README.md: -------------------------------------------------------------------------------- 1 | # utils-merge 2 | 3 | Merges the properties from a source object into a destination object. 4 | 5 | ## Install 6 | 7 | $ npm install utils-merge 8 | 9 | ## Usage 10 | 11 | ```javascript 12 | var a = { foo: 'bar' } 13 | , b = { bar: 'baz' }; 14 | 15 | merge(a, b); 16 | // => { foo: 'bar', bar: 'baz' } 17 | ``` 18 | 19 | ## Tests 20 | 21 | $ npm install 22 | $ npm test 23 | 24 | [![Build Status](https://secure.travis-ci.org/jaredhanson/utils-merge.png)](http://travis-ci.org/jaredhanson/utils-merge) 25 | 26 | ## Credits 27 | 28 | - [Jared Hanson](http://github.com/jaredhanson) 29 | 30 | ## License 31 | 32 | [The MIT License](http://opensource.org/licenses/MIT) 33 | 34 | Copyright (c) 2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> 35 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/utils-merge/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge object b with object a. 3 | * 4 | * var a = { foo: 'bar' } 5 | * , b = { bar: 'baz' }; 6 | * 7 | * merge(a, b); 8 | * // => { foo: 'bar', bar: 'baz' } 9 | * 10 | * @param {Object} a 11 | * @param {Object} b 12 | * @return {Object} 13 | * @api public 14 | */ 15 | 16 | exports = module.exports = function(a, b){ 17 | if (a && b) { 18 | for (var key in b) { 19 | a[key] = b[key]; 20 | } 21 | } 22 | return a; 23 | }; 24 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/vary/.npmignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | test/ 3 | .travis.yml 4 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/vary/History.md: -------------------------------------------------------------------------------- 1 | 0.1.0 / 2014-06-05 2 | ================== 3 | 4 | * Support array of fields to set 5 | 6 | 0.0.0 / 2014-06-04 7 | ================== 8 | 9 | * Initial release 10 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/vary/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/node_modules/vary/README.md: -------------------------------------------------------------------------------- 1 | # vary 2 | 3 | [![NPM version](https://badge.fury.io/js/vary.svg)](http://badge.fury.io/js/vary) 4 | [![Build Status](https://travis-ci.org/expressjs/vary.svg?branch=master)](https://travis-ci.org/expressjs/vary) 5 | [![Coverage Status](https://img.shields.io/coveralls/expressjs/vary.svg?branch=master)](https://coveralls.io/r/expressjs/vary) 6 | 7 | Update the Vary header of a response 8 | 9 | ## Install 10 | 11 | ```sh 12 | $ npm install vary 13 | ``` 14 | 15 | ## API 16 | 17 | ```js 18 | var vary = require('vary') 19 | ``` 20 | 21 | ### vary(res, field) 22 | 23 | Adds the given header `field` to the `Vary` response header of `res`. 24 | This can be a string of a single field or an array of multiple fields. 25 | 26 | This will append the header if not already listed, otherwise leaves 27 | it listed in the current location. 28 | 29 | ```js 30 | vary(res, 'Origin') 31 | vary(res, 'User-Agent') 32 | vary(res, ['Accept', 'Accept-Language', 'Accept-Encoding']) 33 | ``` 34 | 35 | ## Testing 36 | 37 | ```sh 38 | $ npm test 39 | ``` 40 | 41 | ## License 42 | 43 | [MIT](LICENSE) 44 | -------------------------------------------------------------------------------- /node_modules/nodemailer/.npmignore: -------------------------------------------------------------------------------- 1 | .travis.yml 2 | CONTRIBUTING.md 3 | assets 4 | examples 5 | test 6 | 7 | -------------------------------------------------------------------------------- /node_modules/nodemailer/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2014 Andris Reinman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 | SOFTWARE. 17 | -------------------------------------------------------------------------------- /node_modules/nodemailer/lib/engines/stub.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Expose to the world 4 | module.exports = StubTransport; 5 | 6 | /** 7 | *

Generates a stub Transport object for testing purposes

8 | * 9 | * @constructor 10 | */ 11 | function StubTransport(options){ 12 | this.options = options || {}; 13 | } 14 | 15 | /** 16 | *

Generates a raw e-mail source and returns it with callback

17 | * 18 | * @param {Object} emailMessage MailComposer object 19 | * @param {Function} callback Callback function to run when the e-mail is composed 20 | */ 21 | StubTransport.prototype.sendMail = function(emailMessage, callback) { 22 | 23 | var output = ""; 24 | 25 | if(this.options.error){ 26 | return callback(new Error(this.options.error.message || this.options.error)); 27 | } 28 | 29 | // sendmail strips this header line by itself 30 | emailMessage.options.keepBcc = true; 31 | 32 | emailMessage.on("data", function(data){ 33 | output += (data || "").toString("utf-8"); 34 | }); 35 | 36 | emailMessage.on("error", function(err){ 37 | callback(err); 38 | }); 39 | 40 | emailMessage.on("end", function(){ 41 | callback(null, {message: output, envelope: emailMessage.getEnvelope(), messageId: emailMessage._messageId}); 42 | }); 43 | 44 | emailMessage.streamMessage(); 45 | 46 | }; 47 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/.bin/he: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=`dirname "$0"` 3 | 4 | case `uname` in 5 | *CYGWIN*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../he/bin/he" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../he/bin/he" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/.bin/he.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\he\bin\he" %* 3 | ) ELSE ( 4 | node "%~dp0\..\he\bin\he" %* 5 | ) -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/.npmignore: -------------------------------------------------------------------------------- 1 | .yard* 2 | .eslintrc 3 | .travis.yml 4 | .gitignore 5 | apis/source 6 | configuration 7 | configuration.sample 8 | coverage 9 | dist 10 | dist-tools 11 | doc 12 | doc-src 13 | eslint-rules 14 | Gemfile 15 | Gemfile.lock 16 | features 17 | Rakefile 18 | test 19 | tasks 20 | vendor 21 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/NOTICE.txt: -------------------------------------------------------------------------------- 1 | AWS SDK for JavaScript 2 | Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | 4 | This product includes software developed at 5 | Amazon Web Services, Inc. (http://aws.amazon.com/). 6 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-sdk", 3 | "ignore": [ 4 | "doc-src", "dist-tools", "eslint-rules", "features", "lib", 5 | "scripts", "tasks", "test", "Gemfile*", "configuration*", 6 | "Rakefile", "*.json", ".*" 7 | ], 8 | "main": "dist/aws-sdk.js" 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/index.js: -------------------------------------------------------------------------------- 1 | // Convenience file to require the SDK from the root of the repository 2 | module.exports = require('./lib/aws'); 3 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/browser.js: -------------------------------------------------------------------------------- 1 | var AWS = require('./core'); 2 | 3 | // Load the DOMParser XML parser 4 | AWS.XML.Parser = require('./xml/browser_parser'); 5 | 6 | // Load the XHR HttpClient 7 | require('./http/xhr'); 8 | 9 | if (typeof window !== 'undefined') window.AWS = AWS; 10 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/model/collection.js: -------------------------------------------------------------------------------- 1 | var memoizedProperty = require('../util').memoizedProperty; 2 | 3 | function Collection(iterable, options, fn, nameTr) { 4 | nameTr = nameTr || String; 5 | var self = this; 6 | 7 | for (var id in iterable) { 8 | if (iterable.hasOwnProperty(id)) { 9 | (function(name) { 10 | memoizedProperty(self, nameTr(name), function() { 11 | return fn(name, iterable[name]); 12 | }); 13 | })(id); 14 | } 15 | } 16 | } 17 | 18 | module.exports = Collection; 19 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/model/paginator.js: -------------------------------------------------------------------------------- 1 | var property = require('../util').property; 2 | 3 | function Paginator(name, paginator) { 4 | property(this, 'inputToken', paginator.input_token); 5 | property(this, 'limitKey', paginator.limit_key); 6 | property(this, 'moreResults', paginator.more_results); 7 | property(this, 'outputToken', paginator.output_token); 8 | property(this, 'resultKey', paginator.result_key); 9 | } 10 | 11 | module.exports = Paginator; 12 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/model/resource_waiter.js: -------------------------------------------------------------------------------- 1 | var util = require('../util'); 2 | var property = util.property; 3 | 4 | function ResourceWaiter(name, waiter, options) { 5 | options = options || {}; 6 | 7 | function InnerResourceWaiter() { 8 | property(this, 'name', name); 9 | property(this, 'api', options.api, false); 10 | 11 | if (waiter.operation) { 12 | property(this, 'operation', util.string.lowerFirst(waiter.operation)); 13 | } 14 | 15 | var self = this, map = { 16 | ignoreErrors: 'ignore_errors', 17 | successType: 'success_type', 18 | successValue: 'success_value', 19 | successPath: 'success_path', 20 | acceptorType: 'acceptor_type', 21 | acceptorValue: 'acceptor_value', 22 | acceptorPath: 'acceptor_path', 23 | failureType: 'failure_type', 24 | failureValue: 'failure_value', 25 | failurePath: 'success_path', 26 | interval: 'interval', 27 | maxAttempts: 'max_attempts' 28 | }; 29 | Object.keys(map).forEach(function(key) { 30 | var value = waiter[map[key]]; 31 | if (value) property(self, key, value); 32 | }); 33 | } 34 | 35 | if (options.api) { 36 | var proto = null; 37 | if (waiter['extends']) { 38 | proto = options.api.waiters[waiter['extends']]; 39 | } else if (name !== '__default__') { 40 | proto = options.api.waiters['__default__']; 41 | } 42 | 43 | if (proto) InnerResourceWaiter.prototype = proto; 44 | } 45 | 46 | return new InnerResourceWaiter(); 47 | } 48 | 49 | module.exports = ResourceWaiter; 50 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/region_config.js: -------------------------------------------------------------------------------- 1 | var util = require('./util'); 2 | var config = require('./region_config.json'); 3 | 4 | function regionConfig(service) { 5 | var sId = service.serviceIdentifier || ''; 6 | var sRegion = service.config.region || ''; 7 | var finalConfig = {}; 8 | 9 | config.forEach(function(item) { 10 | (item.regions || []).forEach(function(region) { 11 | if (sRegion.match(new RegExp('^' + region.replace('*', '.*') + '$'))) { 12 | (item.serviceConfigs || []).forEach(function(svcConfig) { 13 | (svcConfig.services || []).forEach(function(svcName) { 14 | if (sId.match(new RegExp('^' + svcName.replace('*', '.*') + '$'))) { 15 | util.update(finalConfig, svcConfig.config); 16 | service.isGlobalEndpoint = !!svcConfig.globalEndpoint; 17 | } 18 | }); 19 | }); 20 | } 21 | }); 22 | }); 23 | 24 | util.each(finalConfig, function(key, value) { 25 | if (service.config[key] === undefined || service.config[key] === null) { 26 | service.config[key] = value; 27 | } 28 | }); 29 | } 30 | 31 | module.exports = regionConfig; 32 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/region_config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "regions": ["*"], 4 | "serviceConfigs": [ 5 | { 6 | "services": ["*"], 7 | "config": { 8 | "endpoint": "{service}.{region}.amazonaws.com" 9 | } 10 | }, 11 | { 12 | "services": ["cloudfront", "iam", "importexport", "sts"], 13 | "config": { 14 | "endpoint": "{service}.amazonaws.com" 15 | }, 16 | "globalEndpoint": true 17 | }, 18 | { 19 | "services": ["s3"], 20 | "config": { 21 | "endpoint": "{service}-{region}.amazonaws.com" 22 | } 23 | }, 24 | { 25 | "services": ["route53"], 26 | "config": { 27 | "endpoint": "https://{service}.amazonaws.com" 28 | }, 29 | "globalEndpoint": true 30 | } 31 | ] 32 | }, 33 | { 34 | "regions": ["us-east-1"], 35 | "serviceConfigs": [ 36 | { 37 | "services": ["s3", "simpledb"], 38 | "config": { 39 | "endpoint": "{service}.amazonaws.com" 40 | } 41 | } 42 | ] 43 | }, 44 | { 45 | "regions": ["cn-*"], 46 | "serviceConfigs": [ 47 | { 48 | "services": ["*"], 49 | "config": { 50 | "endpoint": "{service}.{region}.amazonaws.com.cn", 51 | "signatureVersion": "v4" 52 | } 53 | } 54 | ] 55 | } 56 | ] 57 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/services.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var path = require('path'); 3 | var AWS = require('./core'); 4 | var apis = require('aws-sdk-apis'); 5 | 6 | // define services using map 7 | apis.services.forEach(function(identifier) { 8 | var name = apis.serviceName(identifier); 9 | var versions = apis.serviceVersions(identifier); 10 | AWS[name] = AWS.Service.defineService(identifier, versions); 11 | 12 | // load any customizations from lib/services/.js 13 | var svcFile = path.join(__dirname, 'services', identifier + '.js'); 14 | if (fs.existsSync(svcFile)) require('./services/' + identifier); 15 | }); 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/services/dynamodb.js: -------------------------------------------------------------------------------- 1 | var AWS = require('../core'); 2 | 3 | AWS.util.update(AWS.DynamoDB.prototype, { 4 | /** 5 | * @api private 6 | */ 7 | setupRequestListeners: function setupRequestListeners(request) { 8 | if (request.service.config.dynamoDbCrc32) { 9 | request.addListener('extractData', this.checkCrc32); 10 | } 11 | }, 12 | 13 | /** 14 | * @api private 15 | */ 16 | checkCrc32: function checkCrc32(resp) { 17 | if (!resp.request.service.crc32IsValid(resp)) { 18 | resp.error = AWS.util.error(new Error(), { 19 | code: 'CRC32CheckFailed', 20 | message: 'CRC32 integrity check failed', 21 | retryable: true 22 | }); 23 | } 24 | }, 25 | 26 | /** 27 | * @api private 28 | */ 29 | crc32IsValid: function crc32IsValid(resp) { 30 | var crc = resp.httpResponse.headers['x-amz-crc32']; 31 | if (!crc) return true; // no (valid) CRC32 header 32 | return parseInt(crc, 10) === AWS.util.crypto.crc32(resp.httpResponse.body); 33 | }, 34 | 35 | /** 36 | * @api private 37 | */ 38 | defaultRetryCount: 10, 39 | 40 | /** 41 | * @api private 42 | */ 43 | retryDelays: function retryDelays() { 44 | var retryCount = this.numRetries(); 45 | var delays = []; 46 | for (var i = 0; i < retryCount; ++i) { 47 | if (i === 0) { 48 | delays.push(0); 49 | } else { 50 | delays.push(50 * Math.pow(2, i - 1)); 51 | } 52 | } 53 | return delays; 54 | } 55 | }); 56 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/services/elastictranscoder.js: -------------------------------------------------------------------------------- 1 | var AWS = require('../core'); 2 | 3 | AWS.util.update(AWS.ElasticTranscoder.prototype, { 4 | /** 5 | * @api private 6 | */ 7 | setupRequestListeners: function setupRequestListeners(request) { 8 | request.addListener('extractError', this.extractErrorCode); 9 | }, 10 | 11 | /** 12 | * @api private 13 | */ 14 | extractErrorCode: function extractErrorCode(resp) { 15 | // ETS stores error type in the header 16 | var errorType = resp.httpResponse.headers['x-amzn-errortype']; 17 | if (!errorType) errorType = 'UnknownError'; 18 | resp.error.name = resp.error.code = errorType.split(':')[0]; 19 | } 20 | }); 21 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/services/route53.js: -------------------------------------------------------------------------------- 1 | var AWS = require('../core'); 2 | 3 | AWS.util.update(AWS.Route53.prototype, { 4 | /** 5 | * @api private 6 | */ 7 | setupRequestListeners: function setupRequestListeners(request) { 8 | request.on('build', this.sanitizeUrl); 9 | }, 10 | 11 | /** 12 | * @api private 13 | */ 14 | sanitizeUrl: function sanitizeUrl(request) { 15 | var path = request.httpRequest.path; 16 | request.httpRequest.path = path.replace(/\/%2F\w+%2F/, '/'); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/services/swf.js: -------------------------------------------------------------------------------- 1 | var AWS = require('../core'); 2 | 3 | AWS.util.hideProperties(AWS, ['SimpleWorkflow']); 4 | 5 | /** 6 | * @constant 7 | * @readonly 8 | * Backwards compatibility for access to the {AWS.SWF} service class. 9 | */ 10 | AWS.SimpleWorkflow = AWS.SWF; 11 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/signers/request_signer.js: -------------------------------------------------------------------------------- 1 | var AWS = require('../core'); 2 | var inherit = AWS.util.inherit; 3 | 4 | /** 5 | * @api private 6 | */ 7 | AWS.Signers.RequestSigner = inherit({ 8 | constructor: function RequestSigner(request) { 9 | this.request = request; 10 | } 11 | }); 12 | 13 | AWS.Signers.RequestSigner.getVersion = function getVersion(version) { 14 | switch (version) { 15 | case 'v2': return AWS.Signers.V2; 16 | case 'v3': return AWS.Signers.V3; 17 | case 'v4': return AWS.Signers.V4; 18 | case 's3': return AWS.Signers.S3; 19 | case 'v3https': return AWS.Signers.V3Https; 20 | } 21 | throw new Error('Unknown signing version ' + version); 22 | }; 23 | 24 | require('./v2'); 25 | require('./v3'); 26 | require('./v3https'); 27 | require('./v4'); 28 | require('./s3'); 29 | require('./presign'); 30 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/signers/v2.js: -------------------------------------------------------------------------------- 1 | var AWS = require('../core'); 2 | var inherit = AWS.util.inherit; 3 | 4 | /** 5 | * @api private 6 | */ 7 | AWS.Signers.V2 = inherit(AWS.Signers.RequestSigner, { 8 | addAuthorization: function addAuthorization(credentials, date) { 9 | 10 | if (!date) date = AWS.util.date.getDate(); 11 | 12 | var r = this.request; 13 | 14 | r.params.Timestamp = AWS.util.date.iso8601(date); 15 | r.params.SignatureVersion = '2'; 16 | r.params.SignatureMethod = 'HmacSHA256'; 17 | r.params.AWSAccessKeyId = credentials.accessKeyId; 18 | 19 | if (credentials.sessionToken) { 20 | r.params.SecurityToken = credentials.sessionToken; 21 | } 22 | 23 | delete r.params.Signature; // delete old Signature for re-signing 24 | r.params.Signature = this.signature(credentials); 25 | 26 | r.body = AWS.util.queryParamsToString(r.params); 27 | r.headers['Content-Length'] = r.body.length; 28 | }, 29 | 30 | signature: function signature(credentials) { 31 | return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64'); 32 | }, 33 | 34 | stringToSign: function stringToSign() { 35 | var parts = []; 36 | parts.push(this.request.method); 37 | parts.push(this.request.endpoint.host.toLowerCase()); 38 | parts.push(this.request.pathname()); 39 | parts.push(AWS.util.queryParamsToString(this.request.params)); 40 | return parts.join('\n'); 41 | } 42 | 43 | }); 44 | 45 | module.exports = AWS.Signers.V2; 46 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/signers/v3https.js: -------------------------------------------------------------------------------- 1 | var AWS = require('../core'); 2 | var inherit = AWS.util.inherit; 3 | 4 | require('./v3'); 5 | 6 | /** 7 | * @api private 8 | */ 9 | AWS.Signers.V3Https = inherit(AWS.Signers.V3, { 10 | authorization: function authorization(credentials) { 11 | return 'AWS3-HTTPS ' + 12 | 'AWSAccessKeyId=' + credentials.accessKeyId + ',' + 13 | 'Algorithm=HmacSHA256,' + 14 | 'Signature=' + this.signature(credentials); 15 | }, 16 | 17 | stringToSign: function stringToSign() { 18 | return this.request.headers['X-Amz-Date']; 19 | } 20 | }); 21 | 22 | module.exports = AWS.Signers.V3Https; 23 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/lib/state_machine.js: -------------------------------------------------------------------------------- 1 | function AcceptorStateMachine(states, state) { 2 | this.currentState = state || null; 3 | this.states = states || {}; 4 | } 5 | 6 | AcceptorStateMachine.prototype.runTo = function runTo(finalState, done, bindObject, inputError) { 7 | if (typeof finalState === 'function') { 8 | inputError = bindObject; bindObject = done; 9 | done = finalState; finalState = null; 10 | } 11 | 12 | var self = this; 13 | var state = self.states[self.currentState]; 14 | state.fn.call(bindObject || self, inputError, function(err) { 15 | if (err) { 16 | if (state.fail) self.currentState = state.fail; 17 | else return done ? done.call(bindObject, err) : null; 18 | } else { 19 | if (state.accept) self.currentState = state.accept; 20 | else return done ? done.call(bindObject) : null; 21 | } 22 | if (self.currentState === finalState) { 23 | return done ? done.call(bindObject, err) : null; 24 | } 25 | 26 | self.runTo(finalState, done, bindObject, err); 27 | }); 28 | }; 29 | 30 | AcceptorStateMachine.prototype.addState = function addState(name, acceptState, failState, fn) { 31 | if (typeof acceptState === 'function') { 32 | fn = acceptState; acceptState = null; failState = null; 33 | } else if (typeof failState === 'function') { 34 | fn = failState; failState = null; 35 | } 36 | 37 | if (!this.currentState) this.currentState = name; 38 | this.states[name] = { accept: acceptState, fail: failState, fn: fn }; 39 | return this; 40 | }; 41 | 42 | module.exports = AcceptorStateMachine; 43 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/.npmignore: -------------------------------------------------------------------------------- 1 | apis/*.full.json 2 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"). You 4 | may not use this file except in compliance with the License. A copy of 5 | the License is located at 6 | 7 | http://aws.amazon.com/apache2.0/ 8 | 9 | or in the "license" file accompanying this file. This file is 10 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 11 | ANY KIND, either express or implied. See the License for the specific 12 | language governing permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/README.md: -------------------------------------------------------------------------------- 1 | # AWS SDK for JavaScript APIs Package 2 | 3 | This package contains all of the API definitions used by the 4 | [aws-sdk](https://github.com/aws/aws-sdk-js) package. 5 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/cloudformation-2010-05-15.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeStackEvents": { 4 | "input_token": "NextToken", 5 | "output_token": "NextToken", 6 | "result_key": "StackEvents" 7 | }, 8 | "DescribeStackResources": { 9 | "result_key": "StackResources" 10 | }, 11 | "DescribeStacks": { 12 | "input_token": "NextToken", 13 | "output_token": "NextToken", 14 | "result_key": "Stacks" 15 | }, 16 | "ListStackResources": { 17 | "input_token": "NextToken", 18 | "output_token": "NextToken", 19 | "result_key": "StackResourceSummaries" 20 | }, 21 | "ListStacks": { 22 | "input_token": "NextToken", 23 | "output_token": "NextToken", 24 | "result_key": "StackSummaries" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/cloudfront-2014-05-31.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListCloudFrontOriginAccessIdentities": { 4 | "input_token": "Marker", 5 | "output_token": "NextMarker", 6 | "limit_key": "MaxItems", 7 | "more_results": "IsTruncated", 8 | "result_key": "Items" 9 | }, 10 | "ListDistributions": { 11 | "input_token": "Marker", 12 | "output_token": "NextMarker", 13 | "limit_key": "MaxItems", 14 | "more_results": "IsTruncated", 15 | "result_key": "Items" 16 | }, 17 | "ListInvalidations": { 18 | "input_token": "Marker", 19 | "output_token": "NextMarker", 20 | "limit_key": "MaxItems", 21 | "more_results": "IsTruncated", 22 | "result_key": "Items" 23 | }, 24 | "ListStreamingDistributions": { 25 | "input_token": "Marker", 26 | "output_token": "NextMarker", 27 | "limit_key": "MaxItems", 28 | "more_results": "IsTruncated", 29 | "result_key": "Items" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/cloudfront-2014-05-31.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "success_type": "output", 5 | "success_path": "Status" 6 | }, 7 | "StreamingDistributionDeployed": { 8 | "operation": "GetStreamingDistribution", 9 | "description": "Wait until a streaming distribution is deployed.", 10 | "interval": 60, 11 | "max_attempts": 25, 12 | "success_value": "Deployed" 13 | }, 14 | "DistributionDeployed": { 15 | "operation": "GetDistribution", 16 | "description": "Wait until a distribution is deployed.", 17 | "interval": 60, 18 | "max_attempts": 25, 19 | "success_value": "Deployed" 20 | }, 21 | "InvalidationCompleted": { 22 | "operation": "GetInvalidation", 23 | "description": "Wait until an invalidation has completed.", 24 | "interval": 20, 25 | "max_attempts": 30, 26 | "success_value": "Completed" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/cloudsearch-2011-02-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeDomains": { 4 | "result_key": "DomainStatusList" 5 | }, 6 | "DescribeIndexFields": { 7 | "result_key": "IndexFields" 8 | }, 9 | "DescribeRankExpressions": { 10 | "result_key": "RankExpressions" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/cloudsearch-2013-01-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeAnalysisSchemes": { 4 | "result_key": "AnalysisSchemes" 5 | }, 6 | "DescribeDomains": { 7 | "result_key": "DomainStatusList" 8 | }, 9 | "DescribeExpressions": { 10 | "result_key": "Expressions" 11 | }, 12 | "DescribeIndexFields": { 13 | "result_key": "IndexFields" 14 | }, 15 | "DescribeSuggesters": { 16 | "result_key": "Suggesters" 17 | } 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/cloudtrail-2013-11-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeTrails": { 4 | "result_key": "trailList" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/datapipeline-2012-10-29.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListPipelines": { 4 | "input_token": "marker", 5 | "output_token": "marker", 6 | "more_results": "hasMoreResults", 7 | "result_key": "pipelineIdList" 8 | }, 9 | "DescribeObjects": { 10 | "input_token": "marker", 11 | "output_token": "marker", 12 | "more_results": "hasMoreResults", 13 | "result_key": "pipelineObjects" 14 | }, 15 | "DescribePipelines": { 16 | "result_key": "pipelineDescriptionList" 17 | }, 18 | "QueryObjects": { 19 | "input_token": "marker", 20 | "output_token": "marker", 21 | "more_results": "hasMoreResults", 22 | "limit_key": "limit", 23 | "result_key": "ids" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/directconnect-2012-10-25.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeConnections": { 4 | "result_key": "connections" 5 | }, 6 | "DescribeConnectionsOnInterconnect": { 7 | "result_key": "connections" 8 | }, 9 | "DescribeInterconnects": { 10 | "result_key": "interconnects" 11 | }, 12 | "DescribeLocations": { 13 | "result_key": "locations" 14 | }, 15 | "DescribeVirtualGateways": { 16 | "result_key": "virtualGateways" 17 | }, 18 | "DescribeVirtualInterfaces": { 19 | "result_key": "virtualInterfaces" 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/dynamodb-2011-12-05.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "BatchGetItem": { 4 | "input_token": "RequestItems", 5 | "output_token": "UnprocessedKeys", 6 | "result_key": "Responses[]" 7 | }, 8 | "ListTables": { 9 | "input_token": "ExclusiveStartTableName", 10 | "output_token": "LastEvaluatedTableName", 11 | "limit_key": "Limit", 12 | "result_key": "TableNames" 13 | }, 14 | "Query": { 15 | "input_token": "ExclusiveStartKey", 16 | "output_token": "LastEvaluatedKey", 17 | "limit_key": "Limit", 18 | "result_key": "Items" 19 | }, 20 | "Scan": { 21 | "input_token": "ExclusiveStartKey", 22 | "output_token": "LastEvaluatedKey", 23 | "limit_key": "Limit", 24 | "result_key": "Items" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/dynamodb-2011-12-05.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "interval": 20, 5 | "max_attempts": 25 6 | }, 7 | "__TableState": { 8 | "operation": "DescribeTable" 9 | }, 10 | "TableExists": { 11 | "extends": "__TableState", 12 | "description": "Wait until a table exists and can be accessed", 13 | "ignore_errors": [ 14 | "ResourceNotFoundException" 15 | ], 16 | "success_type": "output", 17 | "success_path": "Table.TableStatus", 18 | "success_value": "ACTIVE" 19 | }, 20 | "TableNotExists": { 21 | "extends": "__TableState", 22 | "description": "Wait until a table is deleted", 23 | "success_type": "error", 24 | "success_value": "ResourceNotFoundException" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/dynamodb-2012-08-10.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "BatchGetItem": { 4 | "input_token": "RequestItems", 5 | "output_token": "UnprocessedKeys", 6 | "result_key": "Responses[]" 7 | }, 8 | "ListTables": { 9 | "input_token": "ExclusiveStartTableName", 10 | "output_token": "LastEvaluatedTableName", 11 | "limit_key": "Limit", 12 | "result_key": "TableNames" 13 | }, 14 | "Query": { 15 | "input_token": "ExclusiveStartKey", 16 | "output_token": "LastEvaluatedKey", 17 | "limit_key": "Limit", 18 | "result_key": "Items" 19 | }, 20 | "Scan": { 21 | "input_token": "ExclusiveStartKey", 22 | "output_token": "LastEvaluatedKey", 23 | "limit_key": "Limit", 24 | "result_key": "Items" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/dynamodb-2012-08-10.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "interval": 20, 5 | "max_attempts": 25 6 | }, 7 | "__TableState": { 8 | "operation": "DescribeTable" 9 | }, 10 | "TableExists": { 11 | "extends": "__TableState", 12 | "ignore_errors": [ 13 | "ResourceNotFoundException" 14 | ], 15 | "success_type": "output", 16 | "success_path": "Table.TableStatus", 17 | "success_value": "ACTIVE" 18 | }, 19 | "TableNotExists": { 20 | "extends": "__TableState", 21 | "success_type": "error", 22 | "success_value": "ResourceNotFoundException" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/elasticbeanstalk-2010-12-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeApplicationVersions": { 4 | "result_key": "ApplicationVersions" 5 | }, 6 | "DescribeApplications": { 7 | "result_key": "Applications" 8 | }, 9 | "DescribeConfigurationOptions": { 10 | "result_key": "Options" 11 | }, 12 | "DescribeEnvironments": { 13 | "result_key": "Environments" 14 | }, 15 | "DescribeEvents": { 16 | "input_token": "NextToken", 17 | "output_token": "NextToken", 18 | "limit_key": "MaxRecords", 19 | "result_key": "Events" 20 | }, 21 | "ListAvailableSolutionStacks": { 22 | "result_key": "SolutionStacks" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/elasticloadbalancing-2012-06-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeInstanceHealth": { 4 | "result_key": "InstanceStates" 5 | }, 6 | "DescribeLoadBalancerPolicies": { 7 | "result_key": "PolicyDescriptions" 8 | }, 9 | "DescribeLoadBalancerPolicyTypes": { 10 | "result_key": "PolicyTypeDescriptions" 11 | }, 12 | "DescribeLoadBalancers": { 13 | "input_token": "Marker", 14 | "output_token": "NextMarker", 15 | "result_key": "LoadBalancerDescriptions" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/elasticmapreduce-2009-03-31.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeJobFlows": { 4 | "result_key": "JobFlows" 5 | }, 6 | "ListBootstrapActions": { 7 | "input_token": "Marker", 8 | "output_token": "Marker", 9 | "result_key": "BootstrapActions" 10 | }, 11 | "ListClusters": { 12 | "input_token": "Marker", 13 | "output_token": "Marker", 14 | "result_key": "Clusters" 15 | }, 16 | "ListInstanceGroups": { 17 | "input_token": "Marker", 18 | "output_token": "Marker", 19 | "result_key": "InstanceGroups" 20 | }, 21 | "ListInstances": { 22 | "input_token": "Marker", 23 | "output_token": "Marker", 24 | "result_key": "Instances" 25 | }, 26 | "ListSteps": { 27 | "input_token": "Marker", 28 | "output_token": "Marker", 29 | "result_key": "Steps" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/elastictranscoder-2012-09-25.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListJobsByPipeline": { 4 | "input_token": "PageToken", 5 | "output_token": "NextPageToken", 6 | "result_key": "Jobs" 7 | }, 8 | "ListJobsByStatus": { 9 | "input_token": "PageToken", 10 | "output_token": "NextPageToken", 11 | "result_key": "Jobs" 12 | }, 13 | "ListPipelines": { 14 | "input_token": "PageToken", 15 | "output_token": "NextPageToken", 16 | "result_key": "Pipelines" 17 | }, 18 | "ListPresets": { 19 | "input_token": "PageToken", 20 | "output_token": "NextPageToken", 21 | "result_key": "Presets" 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/email-2010-12-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListIdentities": { 4 | "input_token": "NextToken", 5 | "output_token": "NextToken", 6 | "limit_key": "MaxItems", 7 | "result_key": "Identities" 8 | }, 9 | "ListVerifiedEmailAddresses": { 10 | "result_key": "VerifiedEmailAddresses" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/email-2010-12-01.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "interval": 3, 5 | "max_attempts": 20 6 | }, 7 | "IdentityExists": { 8 | "operation": "GetIdentityVerificationAttributes", 9 | "success_type": "output", 10 | "success_path": "VerificationAttributes[].VerificationStatus", 11 | "success_value": true 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/glacier-2012-06-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListJobs": { 4 | "input_token": "marker", 5 | "output_token": "Marker", 6 | "limit_key": "limit", 7 | "result_key": "JobList" 8 | }, 9 | "ListMultipartUploads": { 10 | "input_token": "marker", 11 | "output_token": "Marker", 12 | "limit_key": "limit", 13 | "result_key": "UploadsList" 14 | }, 15 | "ListParts": { 16 | "input_token": "marker", 17 | "output_token": "Marker", 18 | "limit_key": "limit", 19 | "result_key": "Parts" 20 | }, 21 | "ListVaults": { 22 | "input_token": "marker", 23 | "output_token": "Marker", 24 | "limit_key": "limit", 25 | "result_key": "VaultList" 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/glacier-2012-06-01.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "interval": 3, 5 | "max_attempts": 15 6 | }, 7 | "__VaultState": { 8 | "operation": "DescribeVault" 9 | }, 10 | "VaultExists": { 11 | "extends": "__VaultState", 12 | "ignore_errors": [ 13 | "ResourceNotFoundException" 14 | ], 15 | "success_type": "output" 16 | }, 17 | "VaultNotExists": { 18 | "extends": "__VaultState", 19 | "success_type": "error", 20 | "success_value": "ResourceNotFoundException" 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/importexport-2010-06-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListJobs": { 4 | "input_token": "Marker", 5 | "output_token": "Jobs[-1].JobId", 6 | "more_results": "IsTruncated", 7 | "limit_key": "MaxJobs", 8 | "result_key": "Jobs" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/kinesis-2013-12-02.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeStream": { 4 | "input_token": "ExclusiveStartShardId", 5 | "limit_key": "Limit", 6 | "more_results": "StreamDescription.HasMoreShards", 7 | "output_token": "StreamDescription.Shards[-1].ShardId", 8 | "result_key": "StreamDescription.Shards" 9 | }, 10 | "GetRecords": { 11 | "input_token": "ShardIterator", 12 | "limit_key": "Limit", 13 | "output_token": "NextShardIterator", 14 | "result_key": "Records" 15 | }, 16 | "ListStreams": { 17 | "input_token": "ExclusiveStartStreamName", 18 | "limit_key": "Limit", 19 | "more_results": "HasMoreStreams", 20 | "output_token": "StreamNames[-1]", 21 | "result_key": "StreamNames" 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/monitoring-2010-08-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeAlarmHistory": { 4 | "input_token": "NextToken", 5 | "output_token": "NextToken", 6 | "limit_key": "MaxRecords", 7 | "result_key": "AlarmHistoryItems" 8 | }, 9 | "DescribeAlarms": { 10 | "input_token": "NextToken", 11 | "output_token": "NextToken", 12 | "limit_key": "MaxRecords", 13 | "result_key": "MetricAlarms" 14 | }, 15 | "DescribeAlarmsForMetric": { 16 | "result_key": "MetricAlarms" 17 | }, 18 | "ListMetrics": { 19 | "input_token": "NextToken", 20 | "output_token": "NextToken", 21 | "result_key": "Metrics" 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/opsworks-2013-02-18.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeApps": { 4 | "result_key": "Apps" 5 | }, 6 | "DescribeCommands": { 7 | "result_key": "Commands" 8 | }, 9 | "DescribeDeployments": { 10 | "result_key": "Deployments" 11 | }, 12 | "DescribeElasticIps": { 13 | "result_key": "ElasticIps" 14 | }, 15 | "DescribeElasticLoadBalancers": { 16 | "result_key": "ElasticLoadBalancers" 17 | }, 18 | "DescribeInstances": { 19 | "result_key": "Instances" 20 | }, 21 | "DescribeLayers": { 22 | "result_key": "Layers" 23 | }, 24 | "DescribeLoadBasedAutoScaling": { 25 | "result_key": "LoadBasedAutoScalingConfigurations" 26 | }, 27 | "DescribePermissions": { 28 | "result_key": "Permissions" 29 | }, 30 | "DescribeRaidArrays": { 31 | "result_key": "RaidArrays" 32 | }, 33 | "DescribeServiceErrors": { 34 | "result_key": "ServiceErrors" 35 | }, 36 | "DescribeStacks": { 37 | "result_key": "Stacks" 38 | }, 39 | "DescribeTimeBasedAutoScaling": { 40 | "result_key": "TimeBasedAutoScalingConfigurations" 41 | }, 42 | "DescribeUserProfiles": { 43 | "result_key": "UserProfiles" 44 | }, 45 | "DescribeVolumes": { 46 | "result_key": "Volumes" 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/rds-2013-09-09.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "interval": 30, 5 | "max_attempts": 60 6 | }, 7 | "__DBInstanceState": { 8 | "operation": "DescribeDBInstances", 9 | "acceptor_path": "DBInstances[].DBInstanceStatus", 10 | "acceptor_type": "output" 11 | }, 12 | "DBInstanceAvailable": { 13 | "extends": "__DBInstanceState", 14 | "success_value": "available", 15 | "failure_value": [ 16 | "deleted", 17 | "deleting", 18 | "failed", 19 | "incompatible-restore", 20 | "incompatible-parameters", 21 | "incompatible-parameters", 22 | "incompatible-restore" 23 | ] 24 | }, 25 | "DBInstanceDeleted": { 26 | "extends": "__DBInstanceState", 27 | "success_value": "deleted", 28 | "failure_value": [ 29 | "creating", 30 | "modifying", 31 | "rebooting", 32 | "resetting-master-credentials" 33 | ] 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/redshift-2012-12-01.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "acceptor_type": "output" 5 | }, 6 | "__ClusterState": { 7 | "interval": 60, 8 | "max_attempts": 30, 9 | "operation": "DescribeClusters", 10 | "acceptor_path": "Clusters[].ClusterStatus" 11 | }, 12 | "ClusterAvailable": { 13 | "extends": "__ClusterState", 14 | "ignore_errors": [ 15 | "ClusterNotFound" 16 | ], 17 | "success_value": "available", 18 | "failure_value": [ 19 | "deleting" 20 | ] 21 | }, 22 | "ClusterDeleted": { 23 | "extends": "__ClusterState", 24 | "success_type": "error", 25 | "success_value": "ClusterNotFound", 26 | "failure_value": [ 27 | "creating", 28 | "rebooting" 29 | ] 30 | }, 31 | "SnapshotAvailable": { 32 | "interval": 15, 33 | "max_attempts": 20, 34 | "operation": "DescribeClusterSnapshots", 35 | "acceptor_path": "Snapshots[].Status", 36 | "success_value": "available", 37 | "failure_value": [ 38 | "failed", 39 | "deleted" 40 | ] 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/route53-2013-04-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListHealthChecks": { 4 | "input_token": "Marker", 5 | "output_token": "NextMarker", 6 | "more_results": "IsTruncated", 7 | "limit_key": "MaxItems", 8 | "result_key": "HealthChecks" 9 | }, 10 | "ListHostedZones": { 11 | "input_token": "Marker", 12 | "output_token": "NextMarker", 13 | "more_results": "IsTruncated", 14 | "limit_key": "MaxItems", 15 | "result_key": "HostedZones" 16 | }, 17 | "ListResourceRecordSets": { 18 | "more_results": "IsTruncated", 19 | "limit_key": "MaxItems", 20 | "result_key": "ResourceRecordSets", 21 | "input_token": [ 22 | "StartRecordName", 23 | "StartRecordType", 24 | "StartRecordIdentifier" 25 | ], 26 | "output_token": [ 27 | "NextRecordName", 28 | "NextRecordType", 29 | "NextRecordIdentifier" 30 | ] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/s3-2006-03-01.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListBuckets": { 4 | "result_key": "Buckets" 5 | }, 6 | "ListMultipartUploads": { 7 | "limit_key": "MaxUploads", 8 | "more_results": "IsTruncated", 9 | "output_token": [ 10 | "NextKeyMarker", 11 | "NextUploadIdMarker" 12 | ], 13 | "input_token": [ 14 | "KeyMarker", 15 | "UploadIdMarker" 16 | ], 17 | "result_key": [ 18 | "Uploads", 19 | "CommonPrefixes" 20 | ] 21 | }, 22 | "ListObjectVersions": { 23 | "more_results": "IsTruncated", 24 | "limit_key": "MaxKeys", 25 | "output_token": [ 26 | "NextKeyMarker", 27 | "NextVersionIdMarker" 28 | ], 29 | "input_token": [ 30 | "KeyMarker", 31 | "VersionIdMarker" 32 | ], 33 | "result_key": [ 34 | "Versions", 35 | "DeleteMarkers", 36 | "CommonPrefixes" 37 | ] 38 | }, 39 | "ListObjects": { 40 | "more_results": "IsTruncated", 41 | "limit_key": "MaxKeys", 42 | "output_token": "NextMarker or Contents[-1].Key", 43 | "input_token": "Marker", 44 | "result_key": [ 45 | "Contents", 46 | "CommonPrefixes" 47 | ] 48 | }, 49 | "ListParts": { 50 | "more_results": "IsTruncated", 51 | "limit_key": "MaxParts", 52 | "output_token": "NextPartNumberMarker", 53 | "input_token": "PartNumberMarker", 54 | "result_key": "Parts" 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/s3-2006-03-01.waiters.json: -------------------------------------------------------------------------------- 1 | { 2 | "waiters": { 3 | "__default__": { 4 | "interval": 5, 5 | "max_attempts": 20 6 | }, 7 | "BucketExists": { 8 | "operation": "HeadBucket", 9 | "ignore_errors": [ 10 | 404 11 | ], 12 | "success_type": "output" 13 | }, 14 | "BucketNotExists": { 15 | "operation": "HeadBucket", 16 | "success_type": "error", 17 | "success_value": 404 18 | }, 19 | "ObjectExists": { 20 | "operation": "HeadObject", 21 | "ignore_errors": [ 22 | 404 23 | ], 24 | "success_type": "output" 25 | }, 26 | "ObjectNotExists": { 27 | "operation": "HeadObject", 28 | "success_type": "error", 29 | "success_value": 404 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/sdb-2009-04-15.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListDomains": { 4 | "input_token": "NextToken", 5 | "output_token": "NextToken", 6 | "limit_key": "MaxNumberOfDomains", 7 | "result_key": "DomainNames" 8 | }, 9 | "Select": { 10 | "input_token": "NextToken", 11 | "output_token": "NextToken", 12 | "result_key": "Items" 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/sns-2010-03-31.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListEndpointsByPlatformApplication": { 4 | "input_token": "NextToken", 5 | "output_token": "NextToken", 6 | "result_key": "Endpoints" 7 | }, 8 | "ListPlatformApplications": { 9 | "input_token": "NextToken", 10 | "output_token": "NextToken", 11 | "result_key": "PlatformApplications" 12 | }, 13 | "ListSubscriptions": { 14 | "input_token": "NextToken", 15 | "output_token": "NextToken", 16 | "result_key": "Subscriptions" 17 | }, 18 | "ListSubscriptionsByTopic": { 19 | "input_token": "NextToken", 20 | "output_token": "NextToken", 21 | "result_key": "Subscriptions" 22 | }, 23 | "ListTopics": { 24 | "input_token": "NextToken", 25 | "output_token": "NextToken", 26 | "result_key": "Topics" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/sqs-2012-11-05.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "ListQueues": { 4 | "result_key": "QueueUrls" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/storagegateway-2013-06-30.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeCachediSCSIVolumes": { 4 | "result_key": "CachediSCSIVolumes" 5 | }, 6 | "DescribeStorediSCSIVolumes": { 7 | "result_key": "StorediSCSIVolumes" 8 | }, 9 | "DescribeTapeArchives": { 10 | "input_token": "Marker", 11 | "limit_key": "Limit", 12 | "output_token": "Marker", 13 | "result_key": "TapeArchives" 14 | }, 15 | "DescribeTapeRecoveryPoints": { 16 | "input_token": "Marker", 17 | "limit_key": "Limit", 18 | "output_token": "Marker", 19 | "result_key": "TapeRecoveryPointInfos" 20 | }, 21 | "DescribeTapes": { 22 | "input_token": "Marker", 23 | "limit_key": "Limit", 24 | "output_token": "Marker", 25 | "result_key": "Tapes" 26 | }, 27 | "DescribeVTLDevices": { 28 | "input_token": "Marker", 29 | "limit_key": "Limit", 30 | "output_token": "Marker", 31 | "result_key": "VTLDevices" 32 | }, 33 | "ListGateways": { 34 | "input_token": "Marker", 35 | "limit_key": "Limit", 36 | "output_token": "Marker", 37 | "result_key": "Gateways" 38 | }, 39 | "ListLocalDisks": { 40 | "result_key": "Disks" 41 | }, 42 | "ListVolumeRecoveryPoints": { 43 | "result_key": "VolumeRecoveryPointInfos" 44 | }, 45 | "ListVolumes": { 46 | "input_token": "Marker", 47 | "limit_key": "Limit", 48 | "output_token": "Marker", 49 | "result_key": "VolumeInfos" 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/support-2013-04-15.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "DescribeCases": { 4 | "input_token": "nextToken", 5 | "output_token": "nextToken", 6 | "limit_key": "maxResults", 7 | "result_key": "cases" 8 | }, 9 | "DescribeCommunications": { 10 | "input_token": "nextToken", 11 | "output_token": "nextToken", 12 | "limit_key": "maxResults", 13 | "result_key": "communications" 14 | }, 15 | "DescribeServices": { 16 | "result_key": "services" 17 | }, 18 | "DescribeTrustedAdvisorCheckRefreshStatuses": { 19 | "result_key": "statuses" 20 | }, 21 | "DescribeTrustedAdvisorCheckSummaries": { 22 | "result_key": "summaries" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/apis/swf-2012-01-25.paginators.json: -------------------------------------------------------------------------------- 1 | { 2 | "pagination": { 3 | "GetWorkflowExecutionHistory": { 4 | "limit_key": "maximumPageSize", 5 | "input_token": "nextPageToken", 6 | "output_token": "nextPageToken", 7 | "result_key": "events" 8 | }, 9 | "ListActivityTypes": { 10 | "limit_key": "maximumPageSize", 11 | "input_token": "nextPageToken", 12 | "output_token": "nextPageToken", 13 | "result_key": "typeInfos" 14 | }, 15 | "ListClosedWorkflowExecutions": { 16 | "limit_key": "maximumPageSize", 17 | "input_token": "nextPageToken", 18 | "output_token": "nextPageToken", 19 | "result_key": "executionInfos" 20 | }, 21 | "ListDomains": { 22 | "limit_key": "maximumPageSize", 23 | "input_token": "nextPageToken", 24 | "output_token": "nextPageToken", 25 | "result_key": "domainInfos" 26 | }, 27 | "ListOpenWorkflowExecutions": { 28 | "limit_key": "maximumPageSize", 29 | "input_token": "nextPageToken", 30 | "output_token": "nextPageToken", 31 | "result_key": "executionInfos" 32 | }, 33 | "ListWorkflowTypes": { 34 | "limit_key": "maximumPageSize", 35 | "input_token": "nextPageToken", 36 | "output_token": "nextPageToken", 37 | "result_key": "typeInfos" 38 | }, 39 | "PollForDecisionTask": { 40 | "limit_key": "maximumPageSize", 41 | "input_token": "nextPageToken", 42 | "output_token": "nextPageToken", 43 | "result_key": "events" 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-sdk-apis", 3 | "description": "AWS SDK for JavaScript APIs", 4 | "version": "3.0.6", 5 | "author": { 6 | "name": "Amazon Web Services", 7 | "url": "http://aws.amazon.com/" 8 | }, 9 | "homepage": "https://github.com/aws/aws-sdk-js", 10 | "contributors": [ 11 | { 12 | "name": "Loren Segal", 13 | "email": "lsegal@amazon.com" 14 | } 15 | ], 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/aws/aws-sdk-js-apis" 19 | }, 20 | "bugs": { 21 | "url": "http://github.com/aws/aws-sdk-js-apis/issues" 22 | }, 23 | "licenses": [ 24 | { 25 | "type": "Apache 2.0", 26 | "url": "http://github.com/aws/aws-sdk-js-apis/raw/master/LICENSE.txt" 27 | } 28 | ], 29 | "keywords": [ 30 | "api", 31 | "amazon", 32 | "aws", 33 | "sdk" 34 | ], 35 | "readme": "# AWS SDK for JavaScript APIs Package\n\nThis package contains all of the API definitions used by the\n[aws-sdk](https://github.com/aws/aws-sdk-js) package.\n", 36 | "readmeFilename": "README.md", 37 | "_id": "aws-sdk-apis@3.0.6", 38 | "_from": "aws-sdk-apis@3.x" 39 | } 40 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/aws-sdk-apis/scripts/translate-api: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var fs = require('fs'); 4 | var Translator = require('../lib/translator'); 5 | var util = require('util'); 6 | 7 | var basePath = __dirname + '/../apis/'; 8 | var paths = fs.readdirSync(basePath); 9 | var modelName = process.argv[2] || ''; 10 | 11 | paths.forEach(function (path) { 12 | if (path.match(new RegExp(modelName + ".+\\.full\\.json$"))) { 13 | var opath = path.replace(/\.full\.json$/, '.api.json'); 14 | var data = JSON.parse(fs.readFileSync(basePath + path).toString()); 15 | var translated = new Translator(data, {documentation: false}); 16 | var json = JSON.stringify(translated, null, ' '); 17 | fs.writeFileSync(basePath + opath, json); 18 | } 19 | }); 20 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/.npmignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | .idea 3 | node_modules 4 | src 5 | test 6 | Cakefile -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | # test on two node.js versions: 0.6 and 0.8 4 | node_js: 5 | - 0.8 6 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010, 2011, 2012, 2013. All rights reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to 5 | deal in the Software without restriction, including without limitation the 6 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 7 | sell copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 18 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 19 | IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/AUTHORS: -------------------------------------------------------------------------------- 1 | # contributors sorted by whether or not they're me. 2 | Isaac Z. Schlueter 3 | Stein Martin Hustad 4 | Mikeal Rogers 5 | Laurie Harper 6 | Jann Horn 7 | Elijah Insua 8 | Henry Rawas 9 | Justin Makeig 10 | Mike 11 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2009, 2010, 2011 Isaac Z. Schlueter. 2 | All rights reserved. 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/example.js: -------------------------------------------------------------------------------- 1 | 2 | var fs = require("fs"), 3 | util = require('util'), 4 | path = require("path"), 5 | xml = fs.cat(path.join(__dirname, "test.xml")), 6 | sax = require("../lib/sax"), 7 | strict = sax.parser(true), 8 | loose = sax.parser(false, {trim:true}), 9 | inspector = function (ev) { return function (data) { 10 | // util.error(""); 11 | // util.error(ev+": "+util.inspect(data)); 12 | // for (var i in data) util.error(i+ " "+util.inspect(data[i])); 13 | // util.error(this.line+":"+this.column); 14 | }}; 15 | 16 | xml.addCallback(function (xml) { 17 | // strict.write(xml); 18 | 19 | sax.EVENTS.forEach(function (ev) { 20 | loose["on"+ev] = inspector(ev); 21 | }); 22 | loose.onend = function () { 23 | // util.error("end"); 24 | // util.error(util.inspect(loose)); 25 | }; 26 | 27 | // do this one char at a time to verify that it works. 28 | // (function () { 29 | // if (xml) { 30 | // loose.write(xml.substr(0,1000)); 31 | // xml = xml.substr(1000); 32 | // process.nextTick(arguments.callee); 33 | // } else loose.close(); 34 | // })(); 35 | 36 | for (var i = 0; i < 1000; i ++) { 37 | loose.write(xml); 38 | loose.close(); 39 | } 40 | 41 | }); 42 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/hello-world.js: -------------------------------------------------------------------------------- 1 | require("http").createServer(function (req, res) { 2 | res.writeHead(200, {"content-type":"application/json"}) 3 | res.end(JSON.stringify({ok: true})) 4 | }).listen(1337) 5 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/not-pretty.xml: -------------------------------------------------------------------------------- 1 | 2 | something blerm a bit down here 9 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/switch-bench.js: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/node-bench 2 | 3 | var Promise = require("events").Promise; 4 | 5 | var xml = require("posix").cat("test.xml").wait(), 6 | path = require("path"), 7 | sax = require("../lib/sax"), 8 | saxT = require("../lib/sax-trampoline"), 9 | 10 | parser = sax.parser(false, {trim:true}), 11 | parserT = saxT.parser(false, {trim:true}), 12 | 13 | sys = require("sys"); 14 | 15 | 16 | var count = exports.stepsPerLap = 500, 17 | l = xml.length, 18 | runs = 0; 19 | exports.countPerLap = 1000; 20 | exports.compare = { 21 | "switch" : function () { 22 | // sys.debug("switch runs: "+runs++); 23 | // for (var x = 0; x < l; x += 1000) { 24 | // parser.write(xml.substr(x, 1000)) 25 | // } 26 | // for (var i = 0; i < count; i ++) { 27 | parser.write(xml); 28 | parser.close(); 29 | // } 30 | // done(); 31 | }, 32 | trampoline : function () { 33 | // sys.debug("trampoline runs: "+runs++); 34 | // for (var x = 0; x < l; x += 1000) { 35 | // parserT.write(xml.substr(x, 1000)) 36 | // } 37 | // for (var i = 0; i < count; i ++) { 38 | parserT.write(xml); 39 | parserT.close(); 40 | // } 41 | // done(); 42 | }, 43 | }; 44 | 45 | sys.debug("rock and roll..."); -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/examples/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | testing the parser 6 | 7 | 8 | 9 |

hello 10 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/buffer-overrun.js: -------------------------------------------------------------------------------- 1 | // set this really low so that I don't have to put 64 MB of xml in here. 2 | var sax = require("../lib/sax") 3 | var bl = sax.MAX_BUFFER_LENGTH 4 | sax.MAX_BUFFER_LENGTH = 5; 5 | 6 | require(__dirname).test({ 7 | expect : [ 8 | ["error", "Max buffer length exceeded: tagName\nLine: 0\nColumn: 15\nChar: "], 9 | ["error", "Max buffer length exceeded: tagName\nLine: 0\nColumn: 30\nChar: "], 10 | ["error", "Max buffer length exceeded: tagName\nLine: 0\nColumn: 45\nChar: "], 11 | ["opentag", { 12 | "name": "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 13 | "attributes": {} 14 | }], 15 | ["text", "yo"], 16 | ["closetag", "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"] 17 | ] 18 | }).write("") 22 | .write("yo") 23 | .write("") 24 | .close(); 25 | sax.MAX_BUFFER_LENGTH = bl 26 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-chunked.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test({ 3 | expect : [ 4 | ["opentag", {"name": "R","attributes": {}}], 5 | ["opencdata", undefined], 6 | ["cdata", " this is character data  "], 7 | ["closecdata", undefined], 8 | ["closetag", "R"] 9 | ] 10 | }).write("").close(); 11 | 12 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-end-split.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test({ 3 | expect : [ 4 | ["opentag", {"name": "R","attributes": {}}], 5 | ["opencdata", undefined], 6 | ["cdata", " this is "], 7 | ["closecdata", undefined], 8 | ["closetag", "R"] 9 | ] 10 | }) 11 | .write("") 13 | .write("") 14 | .close(); 15 | 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-fake-end.js: -------------------------------------------------------------------------------- 1 | 2 | var p = require(__dirname).test({ 3 | expect : [ 4 | ["opentag", {"name": "R","attributes": {}}], 5 | ["opencdata", undefined], 6 | ["cdata", "[[[[[[[[]]]]]]]]"], 7 | ["closecdata", undefined], 8 | ["closetag", "R"] 9 | ] 10 | }) 11 | var x = "" 12 | for (var i = 0; i < x.length ; i ++) { 13 | p.write(x.charAt(i)) 14 | } 15 | p.close(); 16 | 17 | 18 | var p2 = require(__dirname).test({ 19 | expect : [ 20 | ["opentag", {"name": "R","attributes": {}}], 21 | ["opencdata", undefined], 22 | ["cdata", "[[[[[[[[]]]]]]]]"], 23 | ["closecdata", undefined], 24 | ["closetag", "R"] 25 | ] 26 | }) 27 | var x = "" 28 | p2.write(x).close(); 29 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata-multiple.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test({ 3 | expect : [ 4 | ["opentag", {"name": "R","attributes": {}}], 5 | ["opencdata", undefined], 6 | ["cdata", " this is "], 7 | ["closecdata", undefined], 8 | ["opencdata", undefined], 9 | ["cdata", "character data  "], 10 | ["closecdata", undefined], 11 | ["closetag", "R"] 12 | ] 13 | }).write("").write("").close(); 15 | 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/cdata.js: -------------------------------------------------------------------------------- 1 | require(__dirname).test({ 2 | xml : "", 3 | expect : [ 4 | ["opentag", {"name": "R","attributes": {}}], 5 | ["opencdata", undefined], 6 | ["cdata", " this is character data  "], 7 | ["closecdata", undefined], 8 | ["closetag", "R"] 9 | ] 10 | }); 11 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-30.js: -------------------------------------------------------------------------------- 1 | // https://github.com/isaacs/sax-js/issues/33 2 | require(__dirname).test 3 | ( { xml : "\n"+ 4 | "\n"+ 7 | "\n"+ 8 | "" 9 | 10 | , expect : 11 | [ [ "opentag", { name: "xml", attributes: {} } ] 12 | , [ "text", "\n" ] 13 | , [ "comment", " \n comment with a single dash- in it\n" ] 14 | , [ "text", "\n" ] 15 | , [ "opentag", { name: "data", attributes: {} } ] 16 | , [ "closetag", "data" ] 17 | , [ "text", "\n" ] 18 | , [ "closetag", "xml" ] 19 | ] 20 | , strict : true 21 | , opt : {} 22 | } 23 | ) 24 | 25 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-35.js: -------------------------------------------------------------------------------- 1 | // https://github.com/isaacs/sax-js/issues/35 2 | require(__dirname).test 3 | ( { xml : " \n"+ 4 | "" 5 | 6 | , expect : 7 | [ [ "opentag", { name: "xml", attributes: {} } ] 8 | , [ "text", "\r\r\n" ] 9 | , [ "closetag", "xml" ] 10 | ] 11 | , strict : true 12 | , opt : {} 13 | } 14 | ) 15 | 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-47.js: -------------------------------------------------------------------------------- 1 | // https://github.com/isaacs/sax-js/issues/47 2 | require(__dirname).test 3 | ( { xml : '' 4 | , expect : [ 5 | [ "attribute", { name:'href', value:"query.svc?x=1&y=2&z=3"} ], 6 | [ "opentag", { name: "a", attributes: { href:"query.svc?x=1&y=2&z=3"} } ], 7 | [ "closetag", "a" ] 8 | ] 9 | , strict : true 10 | , opt : {} 11 | } 12 | ) 13 | 14 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/issue-49.js: -------------------------------------------------------------------------------- 1 | // https://github.com/isaacs/sax-js/issues/49 2 | require(__dirname).test 3 | ( { xml : "" 4 | , expect : 5 | [ [ "opentag", { name: "xml", attributes: {} } ] 6 | , [ "opentag", { name: "script", attributes: {} } ] 7 | , [ "text", "hello world" ] 8 | , [ "closetag", "script" ] 9 | , [ "closetag", "xml" ] 10 | ] 11 | , strict : false 12 | , opt : { lowercasetags: true, noscript: true } 13 | } 14 | ) 15 | 16 | require(__dirname).test 17 | ( { xml : "" 18 | , expect : 19 | [ [ "opentag", { name: "xml", attributes: {} } ] 20 | , [ "opentag", { name: "script", attributes: {} } ] 21 | , [ "opencdata", undefined ] 22 | , [ "cdata", "hello world" ] 23 | , [ "closecdata", undefined ] 24 | , [ "closetag", "script" ] 25 | , [ "closetag", "xml" ] 26 | ] 27 | , strict : false 28 | , opt : { lowercasetags: true, noscript: true } 29 | } 30 | ) 31 | 32 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/parser-position.js: -------------------------------------------------------------------------------- 1 | var sax = require("../lib/sax"), 2 | assert = require("assert") 3 | 4 | function testPosition(chunks, expectedEvents) { 5 | var parser = sax.parser(); 6 | expectedEvents.forEach(function(expectation) { 7 | parser['on' + expectation[0]] = function() { 8 | for (var prop in expectation[1]) { 9 | assert.equal(parser[prop], expectation[1][prop]); 10 | } 11 | } 12 | }); 13 | chunks.forEach(function(chunk) { 14 | parser.write(chunk); 15 | }); 16 | }; 17 | 18 | testPosition(['

'], 19 | [ ['opentag', { position: 5, startTagPosition: 1 }] 20 | , ['text', { position: 19, startTagPosition: 14 }] 21 | , ['closetag', { position: 19, startTagPosition: 14 }] 22 | ]); 23 | 24 | testPosition(['
abcde','fgh
'], 25 | [ ['opentag', { position: 5, startTagPosition: 1 }] 26 | , ['text', { position: 19, startTagPosition: 14 }] 27 | , ['closetag', { position: 19, startTagPosition: 14 }] 28 | ]); 29 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/script.js: -------------------------------------------------------------------------------- 1 | require(__dirname).test({ 2 | xml : "", 3 | expect : [ 4 | ["opentag", {"name": "HTML","attributes": {}}], 5 | ["opentag", {"name": "HEAD","attributes": {}}], 6 | ["opentag", {"name": "SCRIPT","attributes": {}}], 7 | ["script", "if (1 < 0) { console.log('elo there'); }"], 8 | ["closetag", "SCRIPT"], 9 | ["closetag", "HEAD"], 10 | ["closetag", "HTML"] 11 | ] 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/self-closing-child-strict.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test({ 3 | xml : 4 | ""+ 5 | "" + 6 | "" + 7 | "" + 8 | "" + 9 | "=(|)" + 10 | "" + 11 | "", 12 | expect : [ 13 | ["opentag", { 14 | "name": "root", 15 | "attributes": {} 16 | }], 17 | ["opentag", { 18 | "name": "child", 19 | "attributes": {} 20 | }], 21 | ["opentag", { 22 | "name": "haha", 23 | "attributes": {} 24 | }], 25 | ["closetag", "haha"], 26 | ["closetag", "child"], 27 | ["opentag", { 28 | "name": "monkey", 29 | "attributes": {} 30 | }], 31 | ["text", "=(|)"], 32 | ["closetag", "monkey"], 33 | ["closetag", "root"], 34 | ["end"], 35 | ["ready"] 36 | ], 37 | strict : true, 38 | opt : {} 39 | }); 40 | 41 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/self-closing-child.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test({ 3 | xml : 4 | ""+ 5 | "" + 6 | "" + 7 | "" + 8 | "" + 9 | "=(|)" + 10 | "" + 11 | "", 12 | expect : [ 13 | ["opentag", { 14 | "name": "ROOT", 15 | "attributes": {} 16 | }], 17 | ["opentag", { 18 | "name": "CHILD", 19 | "attributes": {} 20 | }], 21 | ["opentag", { 22 | "name": "HAHA", 23 | "attributes": {} 24 | }], 25 | ["closetag", "HAHA"], 26 | ["closetag", "CHILD"], 27 | ["opentag", { 28 | "name": "MONKEY", 29 | "attributes": {} 30 | }], 31 | ["text", "=(|)"], 32 | ["closetag", "MONKEY"], 33 | ["closetag", "ROOT"], 34 | ["end"], 35 | ["ready"] 36 | ], 37 | strict : false, 38 | opt : {} 39 | }); 40 | 41 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/self-closing-tag.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test({ 3 | xml : 4 | " "+ 5 | " "+ 6 | " "+ 7 | " "+ 8 | "=(|) "+ 9 | ""+ 10 | " ", 11 | expect : [ 12 | ["opentag", {name:"ROOT", attributes:{}}], 13 | ["opentag", {name:"HAHA", attributes:{}}], 14 | ["closetag", "HAHA"], 15 | ["opentag", {name:"HAHA", attributes:{}}], 16 | ["closetag", "HAHA"], 17 | // ["opentag", {name:"HAHA", attributes:{}}], 18 | // ["closetag", "HAHA"], 19 | ["opentag", {name:"MONKEY", attributes:{}}], 20 | ["text", "=(|)"], 21 | ["closetag", "MONKEY"], 22 | ["closetag", "ROOT"] 23 | ], 24 | opt : { trim : true } 25 | }); -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/stray-ending.js: -------------------------------------------------------------------------------- 1 | // stray ending tags should just be ignored in non-strict mode. 2 | // https://github.com/isaacs/sax-js/issues/32 3 | require(__dirname).test 4 | ( { xml : 5 | "
" 6 | , expect : 7 | [ [ "opentag", { name: "A", attributes: {} } ] 8 | , [ "opentag", { name: "B", attributes: {} } ] 9 | , [ "text", "" ] 10 | , [ "closetag", "B" ] 11 | , [ "closetag", "A" ] 12 | ] 13 | , strict : false 14 | , opt : {} 15 | } 16 | ) 17 | 18 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/trailing-non-whitespace.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test({ 3 | xml : "Welcome, to monkey land", 4 | expect : [ 5 | ["opentag", { 6 | "name": "SPAN", 7 | "attributes": {} 8 | }], 9 | ["text", "Welcome,"], 10 | ["closetag", "SPAN"], 11 | ["text", " to monkey land"], 12 | ["end"], 13 | ["ready"] 14 | ], 15 | strict : false, 16 | opt : {} 17 | }); 18 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/unquoted.js: -------------------------------------------------------------------------------- 1 | // unquoted attributes should be ok in non-strict mode 2 | // https://github.com/isaacs/sax-js/issues/31 3 | require(__dirname).test 4 | ( { xml : 5 | "" 6 | , expect : 7 | [ [ "attribute", { name: "CLASS", value: "test" } ] 8 | , [ "attribute", { name: "HELLO", value: "world" } ] 9 | , [ "opentag", { name: "SPAN", 10 | attributes: { CLASS: "test", HELLO: "world" } } ] 11 | , [ "closetag", "SPAN" ] 12 | ] 13 | , strict : false 14 | , opt : {} 15 | } 16 | ) 17 | 18 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-unbound.js: -------------------------------------------------------------------------------- 1 | 2 | require(__dirname).test( 3 | { strict : true 4 | , opt : { xmlns: true } 5 | , expect : 6 | [ ["error", "Unbound namespace prefix: \"unbound\"\nLine: 0\nColumn: 28\nChar: >"] 7 | 8 | , [ "attribute", { name: "unbound:attr", value: "value", uri: "unbound", prefix: "unbound", local: "attr" } ] 9 | , [ "opentag", { name: "root", uri: "", prefix: "", local: "root", 10 | attributes: { "unbound:attr": { name: "unbound:attr", value: "value", uri: "unbound", prefix: "unbound", local: "attr" } }, 11 | ns: {} } ] 12 | , [ "closetag", "root" ] 13 | ] 14 | } 15 | ).write("") 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-ns.js: -------------------------------------------------------------------------------- 1 | var xmlns_attr = 2 | { 3 | name: "xmlns", value: "http://foo", prefix: "xmlns", 4 | local: "", uri : "http://www.w3.org/2000/xmlns/" 5 | }; 6 | 7 | var attr_attr = 8 | { 9 | name: "attr", value: "bar", prefix: "", 10 | local : "attr", uri : "" 11 | }; 12 | 13 | 14 | require(__dirname).test 15 | ( { xml : 16 | "" 17 | , expect : 18 | [ [ "opennamespace", { prefix: "", uri: "http://foo" } ] 19 | , [ "attribute", xmlns_attr ] 20 | , [ "attribute", attr_attr ] 21 | , [ "opentag", { name: "elm", prefix: "", local: "elm", uri : "http://foo", 22 | ns : { "" : "http://foo" }, 23 | attributes: { xmlns: xmlns_attr, attr: attr_attr } } ] 24 | , [ "closetag", "elm" ] 25 | , [ "closenamespace", { prefix: "", uri: "http://foo"} ] 26 | ] 27 | , strict : true 28 | , opt : {xmlns: true} 29 | } 30 | ) 31 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js: -------------------------------------------------------------------------------- 1 | require(__dirname).test( 2 | { xml : "" 3 | , expect : 4 | [ [ "attribute" 5 | , { name: "xml:lang" 6 | , local: "lang" 7 | , prefix: "xml" 8 | , uri: "http://www.w3.org/XML/1998/namespace" 9 | , value: "en" 10 | } 11 | ] 12 | , [ "opentag" 13 | , { name: "root" 14 | , uri: "" 15 | , prefix: "" 16 | , local: "root" 17 | , attributes: 18 | { "xml:lang": 19 | { name: "xml:lang" 20 | , local: "lang" 21 | , prefix: "xml" 22 | , uri: "http://www.w3.org/XML/1998/namespace" 23 | , value: "en" 24 | } 25 | } 26 | , ns: {} 27 | } 28 | ] 29 | , ["closetag", "root"] 30 | ] 31 | , strict : true 32 | , opt : { xmlns: true } 33 | } 34 | ) 35 | 36 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-prefix.js: -------------------------------------------------------------------------------- 1 | require(__dirname).test( 2 | { xml : "" 3 | , expect : 4 | [ 5 | [ "opentag" 6 | , { name: "xml:root" 7 | , uri: "http://www.w3.org/XML/1998/namespace" 8 | , prefix: "xml" 9 | , local: "root" 10 | , attributes: {} 11 | , ns: {} 12 | } 13 | ] 14 | , ["closetag", "xml:root"] 15 | ] 16 | , strict : true 17 | , opt : { xmlns: true } 18 | } 19 | ) 20 | 21 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xml2js/node_modules/sax/test/xmlns-xml-default-redefine.js: -------------------------------------------------------------------------------- 1 | require(__dirname).test( 2 | { xml : "" 3 | , expect : 4 | [ ["error" 5 | , "xml: prefix must be bound to http://www.w3.org/XML/1998/namespace\n" 6 | + "Actual: ERROR\n" 7 | + "Line: 0\nColumn: 27\nChar: '" 8 | ] 9 | , [ "attribute" 10 | , { name: "xmlns:xml" 11 | , local: "xml" 12 | , prefix: "xmlns" 13 | , uri: "http://www.w3.org/2000/xmlns/" 14 | , value: "ERROR" 15 | } 16 | ] 17 | , [ "opentag" 18 | , { name: "xml:root" 19 | , uri: "http://www.w3.org/XML/1998/namespace" 20 | , prefix: "xml" 21 | , local: "root" 22 | , attributes: 23 | { "xmlns:xml": 24 | { name: "xmlns:xml" 25 | , local: "xml" 26 | , prefix: "xmlns" 27 | , uri: "http://www.w3.org/2000/xmlns/" 28 | , value: "ERROR" 29 | } 30 | } 31 | , ns: {} 32 | } 33 | ] 34 | , ["closetag", "xml:root"] 35 | ] 36 | , strict : true 37 | , opt : { xmlns: true } 38 | } 39 | ) 40 | 41 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xmlbuilder/.npmignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | .travis.yml 3 | Makefile 4 | .git/ 5 | src/ 6 | test/ 7 | node_modules/ 8 | 9 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/node_modules/xmlbuilder/lib/index.js: -------------------------------------------------------------------------------- 1 | // Generated by CoffeeScript 1.3.3 2 | (function() { 3 | var XMLBuilder; 4 | 5 | XMLBuilder = require('./XMLBuilder'); 6 | 7 | module.exports.create = function(name, xmldec, doctype) { 8 | if (name != null) { 9 | return new XMLBuilder(name, xmldec, doctype).root(); 10 | } else { 11 | return new XMLBuilder(); 12 | } 13 | }; 14 | 15 | }).call(this); 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/aws-sdk/testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "framework": "jasmine", 3 | "test_page": "dist/tests.html" 4 | } 5 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/directmail/.npmignore: -------------------------------------------------------------------------------- 1 | .travis.yml 2 | tests -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/directmail/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Andris Reinman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 | SOFTWARE. -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/directmail/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // expose to the world 4 | module.exports = require('./lib/mailer'); -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/he/LICENSE-MIT.txt: -------------------------------------------------------------------------------- 1 | Copyright Mathias Bynens 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/.npmignore: -------------------------------------------------------------------------------- 1 | .travis.yml 2 | test -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Andris Reinman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 | SOFTWARE. -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/lib/topunycode.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var punycode = require("punycode"); 4 | 5 | module.exports = function(address) { 6 | return address.replace(/((?:https?:\/\/)?.*\@)?([^\/]*)/, function(o, start, domain) { 7 | var domainParts = domain.split(/\./).map(punycode.toASCII.bind(punycode)); 8 | return (start || "") + domainParts.join("."); 9 | }); 10 | }; -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/dkim-signer/.npmignore: -------------------------------------------------------------------------------- 1 | test -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/dkim-signer/README.md: -------------------------------------------------------------------------------- 1 | # DKIM Signer 2 | 3 | Sign RFC822 messages with DKIM. This module is extracted from [mailcomposer](https://github.com/andris9/mailcomposer). 4 | 5 | ## Usage 6 | 7 | ```javascript 8 | // require signer function 9 | var DKIMSign = require("dkim-signer").DKIMSign; 10 | 11 | // generate a RFC822 message 12 | var rfc822message = "Subject: test\r\n\r\nHello world"; 13 | 14 | // setup DKIM options 15 | var dkimOptions = { 16 | domainName: "müriaad-polüteism.info", 17 | keySelector: "dkim", 18 | privateKey: require("fs").readFileSync("./test_private.pem") 19 | }; 20 | 21 | // generate signature header field 22 | var signature = DKIMSign(rfc822message, dkimOptions); 23 | 24 | // join signature header field with the message 25 | console.log(signature + "\r\n" + rfc822message); 26 | ``` 27 | 28 | ## License 29 | 30 | **MIT** -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/follow-redirects/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | node_modules 15 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/follow-redirects/README.md: -------------------------------------------------------------------------------- 1 | `follow-redirects` extends http and https with the ability to follow 2 | HTTP redirects painlessly. It does not modify the native modules but 3 | instead offers its own http/https modules which inherit from the native 4 | modules. If you want to automatically follow redirects, all you need to 5 | do is replace: 6 | 7 | ```javascript 8 | var http = require('http'); 9 | ``` 10 | 11 | by 12 | 13 | ```javascript 14 | var http = require('follow-redirects').http; 15 | ``` 16 | 17 | # Install 18 | 19 | npm install follow-redirects 20 | 21 | # Usage 22 | 23 | ```javascript 24 | 25 | var http = require('follow-redirects').http; 26 | var https = require('follow-redirects').https; 27 | 28 | /* 29 | * http and https are just like Node.js' http and https modules except 30 | * that they follow redirects seamlessly. 31 | */ 32 | 33 | http.get('http://bit.ly/900913', function (res) { 34 | res.on('data', function (chunk) { 35 | console.log(chunk); 36 | }); 37 | }).on('error', function (err) { 38 | console.error(err); 39 | }); 40 | 41 | /* 42 | * You can optionnally pass the maxRedirect option which defaults to 5 43 | */ 44 | 45 | https.request({ 46 | host: 'bitly.com', 47 | path: '/UHfDGO', 48 | maxRedirects: 3 49 | }, function (res) { 50 | res.on('data', function (chunk) { 51 | console.log(chunk); 52 | }); 53 | }).on('error', function (err) { 54 | console.error(err); 55 | }); 56 | 57 | ``` 58 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/follow-redirects/node_modules/underscore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative 2 | Reporters & Editors 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/follow-redirects/node_modules/underscore/README.md: -------------------------------------------------------------------------------- 1 | __ 2 | /\ \ __ 3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____ 4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\ 5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\ 6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/ 7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/ 8 | \ \____/ 9 | \/___/ 10 | 11 | Underscore.js is a utility-belt library for JavaScript that provides 12 | support for the usual functional suspects (each, map, reduce, filter...) 13 | without extending any core JavaScript objects. 14 | 15 | For Docs, License, Tests, and pre-packed downloads, see: 16 | http://underscorejs.org 17 | 18 | Underscore is an open-sourced component of DocumentCloud: 19 | https://github.com/documentcloud 20 | 21 | Many thanks to our contributors: 22 | https://github.com/jashkenas/underscore/contributors 23 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/.npmignore: -------------------------------------------------------------------------------- 1 | benchmark 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2012 Andris Reinman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 | SOFTWARE. -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = require("./lib/mimelib"); 4 | module.exports.contentTypes = require("./lib/content-types"); 5 | module.exports.contentTypesReversed = require("./lib/content-types-reversed"); -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/lib/content-types-reversed.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // list of mime types 4 | module.exports = { 5 | 'application/msword': 'doc', 6 | 'application/pdf': 'pdf', 7 | 'application/rss+xml': 'rss', 8 | 'application/vnd.ms-excel': 'xls', 9 | 'application/vnd.ms-powerpoint': 'ppt', 10 | 'application/vnd.oasis.opendocument.presentation': 'odp', 11 | 'application/vnd.oasis.opendocument.spreadsheet': 'ods', 12 | 'application/vnd.oasis.opendocument.text': 'odt', 13 | 'application/vnd.sun.xml.calc': 'sxc', 14 | 'application/vnd.sun.xml.writer': 'sxw', 15 | 'audio/basic': 'au', 16 | 'audio/flac': 'flac', 17 | 'audio/mid': 'mid', 18 | 'audio/mp4': 'm4a', 19 | 'audio/mpeg': 'mp3', 20 | 'audio/ogg': 'ogg', 21 | 'audio/x-aiff': 'aif', 22 | 'audio/x-wav': 'wav', 23 | 'image/gif': 'gif', 24 | 'image/jpeg': 'jpg', 25 | 'image/png': 'png', 26 | 'image/tiff': 'tif', 27 | 'image/vnd.wap.wbmp': 'wbmp', 28 | 'image/x-ms-bmp': 'bmp', 29 | 'text/calendar': 'ics', 30 | 'text/comma-separated-values': 'csv', 31 | 'text/css': 'css', 32 | 'text/html': 'html', 33 | 'text/plain': 'txt', 34 | 'text/x-vcard': 'vcf', 35 | 'video/mp4': 'mp4', 36 | 'video/mpeg': 'mpeg', 37 | 'video/ogg': 'ogv', 38 | 'video/quicktime': 'mov', 39 | 'video/x-msvideo': 'avi', 40 | 'application/zip': 'zip', 41 | 'application/x-rar-compressed': 'rar' 42 | }; -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/addressparser/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/addressparser/README.md: -------------------------------------------------------------------------------- 1 | # addressparser 2 | 3 | Parse e-mail address fields 4 | 5 | ## Installation 6 | 7 | Install with npm 8 | 9 | npm install addressparser 10 | 11 | ## Usage 12 | 13 | Include the module 14 | 15 | var addressparser = require("addressparser"); 16 | 17 | Parse some address strings with addressparser(field) 18 | 19 | var addresses = addressparser("andris "); 20 | console.log(addresses); // [{name: "andris", address:"andris@tr.ee"}] 21 | 22 | And when using groups 23 | 24 | addressparser('Composers:"Bach, Sebastian" , mozart@example.com (Mozzie);'); 25 | 26 | the result is 27 | 28 | [ 29 | { 30 | name: "Composers", 31 | group: [ 32 | { 33 | address: "sebu@example.com", 34 | name: "Bach, Sebastian" 35 | }, 36 | { 37 | address: "mozart@example.com", 38 | name: "Mozzie" 39 | } 40 | ] 41 | } 42 | ] 43 | 44 | 45 | ## Notes 46 | 47 | * **NB!** this module does not decode any mime-word or punycode encoded strings, it is only a basic parser for parsing the base data, you need to decode the encoded parts later by yourself 48 | 49 | ## License 50 | 51 | **MIT** -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/README.md: -------------------------------------------------------------------------------- 1 | # Encoding 2 | 3 | **encoding** is a simple wrapper around [node-iconv](https://github.com/bnoordhuis/node-iconv) and [iconv-lite](https://github.com/ashtuchkin/iconv-lite/) to convert strings from one encoding to another. If node-iconv is not available for some reason, 4 | iconv-lite will be used instead of it as a fallback. 5 | 6 | ## Install 7 | 8 | Install through npm 9 | 10 | npm install encoding 11 | 12 | ## Usage 13 | 14 | Require the module 15 | 16 | var encoding = require("encoding"); 17 | 18 | Convert with encoding.convert() 19 | 20 | var resultBuffer = encoding.convert(text, toCharset, fromCharset); 21 | 22 | Where 23 | 24 | * **text** is either a Buffer or a String to be converted 25 | * **toCharset** is the characterset to convert the string 26 | * **fromCharset** (*optional*, defaults to UTF-8) is the source charset 27 | 28 | Output of the conversion is always a Buffer object. 29 | 30 | Example 31 | 32 | var result = encoding.convert("ÕÄÖÜ", "Latin_1"); 33 | console.log(result); // 34 | 35 | ## iconv support 36 | 37 | By default only iconv-lite is bundled. If you need node-iconv support, you need to add it 38 | as an additional dependency for your project: 39 | 40 | ..., 41 | "dependencies":{ 42 | "encoding": "*", 43 | "iconv": "*" 44 | }, 45 | ... 46 | 47 | ## License 48 | 49 | **MIT** -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/.npmignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *sublime-* 3 | generation 4 | test 5 | wiki 6 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - 0.10 5 | - 0.11 6 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/Changelog.md: -------------------------------------------------------------------------------- 1 | 2 | # 0.4.3 / 2014-06-14 3 | 4 | * added encodings UTF-16BE and UTF-16 with BOM 5 | 6 | # 0.4.2 / 2014-06-12 7 | 8 | * don't throw exception if `extendNodeEncodings()` is called more than once 9 | 10 | # 0.4.1 / 2014-06-11 11 | 12 | * codepage 808 added 13 | 14 | 15 | # 0.4.0 / 2014-06-10 16 | 17 | * code is rewritten from scratch 18 | * all widespread encodings are supported 19 | * streaming interface added 20 | * browserify compatibility added 21 | * (optional) extend core primitive encodings to make usage even simpler 22 | * moved from vows to mocha as the testing framework 23 | 24 | 25 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Alexander Shtuchkin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | 2 | // Update this array if you add/rename/remove files in this directory. 3 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 4 | var modules = [ 5 | require("./internal"), 6 | require("./utf16"), 7 | require("./sbcs-codec"), 8 | require("./sbcs-data"), 9 | require("./sbcs-data-generated"), 10 | require("./dbcs-codec"), 11 | require("./dbcs-data"), 12 | ]; 13 | 14 | // Put all encoding/alias/codec definitions to single object and export it. 15 | for (var i = 0; i < modules.length; i++) { 16 | var module = modules[i]; 17 | for (var enc in module) 18 | exports[enc] = module[enc]; 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["a140","",62], 3 | ["a180","",32], 4 | ["a240","",62], 5 | ["a280","",32], 6 | ["a2ab","",5], 7 | ["a2e3","€"], 8 | ["a2ef",""], 9 | ["a2fd",""], 10 | ["a340","",62], 11 | ["a380","",31," "], 12 | ["a440","",62], 13 | ["a480","",32], 14 | ["a4f4","",10], 15 | ["a540","",62], 16 | ["a580","",32], 17 | ["a5f7","",7], 18 | ["a640","",62], 19 | ["a680","",32], 20 | ["a6b9","",7], 21 | ["a6d9","",6], 22 | ["a6ec",""], 23 | ["a6f3",""], 24 | ["a6f6","",8], 25 | ["a740","",62], 26 | ["a780","",32], 27 | ["a7c2","",14], 28 | ["a7f2","",12], 29 | ["a896","",10], 30 | ["a8bc",""], 31 | ["a8bf","ǹ"], 32 | ["a8c1",""], 33 | ["a8ea","",20], 34 | ["a958",""], 35 | ["a95b",""], 36 | ["a95d",""], 37 | ["a989","〾⿰",11], 38 | ["a997","",12], 39 | ["a9f0","",14], 40 | ["aaa1","",93], 41 | ["aba1","",93], 42 | ["aca1","",93], 43 | ["ada1","",93], 44 | ["aea1","",93], 45 | ["afa1","",93], 46 | ["d7fa","",4], 47 | ["f8a1","",93], 48 | ["f9a1","",93], 49 | ["faa1","",93], 50 | ["fba1","",93], 51 | ["fca1","",93], 52 | ["fda1","",93], 53 | ["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"], 54 | ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] 55 | ] 56 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/mailcomposer/node_modules/punycode/LICENSE-MIT.txt: -------------------------------------------------------------------------------- 1 | Copyright Mathias Bynens 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/public-address/.npmignore: -------------------------------------------------------------------------------- 1 | tests -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/public-address/README.md: -------------------------------------------------------------------------------- 1 | # public-address 2 | 3 | Resolve the public IP address and hostname of your current machine. 4 | 5 | This module makes a HTTP request to www.remoteaddress.net IP resolving service. 6 | 7 | ## Installation 8 | 9 | npm install public-address 10 | 11 | ## Usage 12 | 13 | var publicAddress = require("public-address"); 14 | publicAddress([options,] callback); 15 | 16 | Where 17 | 18 | * **options** - an optional options object. Everything in this object is passed to the HTTP request object (eg. `agent`, `localAddress` etc.) 19 | * **callback** - function to run once the resolving succeeded or failed. Has error object and response data as arguments 20 | 21 | The data argument for `callback` has the following properties 22 | 23 | * **address** - public IP address 24 | * **hostname** - (if available) hostname of the IP address 25 | 26 | ## Example 27 | 28 | Resolve public IP: 29 | 30 | publicAddress(function(err, data){ 31 | console.log(err || data); 32 | }); 33 | 34 | Example response: 35 | 36 | { 37 | "address": "193.152.61.139", 38 | "hostname": "gprs-inet-61-139.example.com" 39 | } 40 | 41 | ## License 42 | 43 | **MIT** 44 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/.npmignore: -------------------------------------------------------------------------------- 1 | build/ 2 | test/ 3 | examples/ 4 | fs.js 5 | zlib.js -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Joyent, Inc. and other Node contributors. All rights reserved. 2 | Permission is hereby granted, free of charge, to any person obtaining a copy 3 | of this software and associated documentation files (the "Software"), to 4 | deal in the Software without restriction, including without limitation the 5 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 6 | sell copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in 10 | all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 14 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 16 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 17 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 18 | IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/README.md: -------------------------------------------------------------------------------- 1 | # readable-stream 2 | 3 | ***Node-core streams for userland*** 4 | 5 | [![NPM](https://nodei.co/npm/readable-stream.png?downloads=true)](https://nodei.co/npm/readable-stream/) 6 | [![NPM](https://nodei.co/npm-dl/readable-stream.png)](https://nodei.co/npm/readable-stream/) 7 | 8 | This package is a mirror of the Streams2 and Streams3 implementations in Node-core. 9 | 10 | If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core. 11 | 12 | **readable-stream** comes in two major versions, v1.0.x and v1.1.x. The former tracks the Streams2 implementation in Node 0.10, including bug-fixes and minor improvements as they are added. The latter tracks Streams3 as it develops in Node 0.11; we will likely see a v1.2.x branch for Node 0.12. 13 | 14 | **readable-stream** uses proper patch-level versioning so if you pin to `"~1.0.0"` you’ll get the latest Node 0.10 Streams2 implementation, including any fixes and minor non-breaking improvements. The patch-level versions of 1.0.x and 1.1.x should mirror the patch-level versions of Node-core releases. You should prefer the **1.0.x** releases for now and when you’re ready to start using Streams3, pin to `"~1.1.0"` 15 | 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_duplex.js") 2 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/core-util-is/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "core-util-is", 3 | "version": "1.0.1", 4 | "description": "The `util.is*` functions introduced in Node v0.12.", 5 | "main": "lib/util.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/isaacs/core-util-is" 9 | }, 10 | "keywords": [ 11 | "util", 12 | "isBuffer", 13 | "isArray", 14 | "isNumber", 15 | "isString", 16 | "isRegExp", 17 | "isThis", 18 | "isThat", 19 | "polyfill" 20 | ], 21 | "author": { 22 | "name": "Isaac Z. Schlueter", 23 | "email": "i@izs.me", 24 | "url": "http://blog.izs.me/" 25 | }, 26 | "license": "MIT", 27 | "bugs": { 28 | "url": "https://github.com/isaacs/core-util-is/issues" 29 | }, 30 | "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n", 31 | "readmeFilename": "README.md", 32 | "homepage": "https://github.com/isaacs/core-util-is", 33 | "_id": "core-util-is@1.0.1", 34 | "_from": "core-util-is@~1.0.0" 35 | } 36 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inherits 2 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/inherits/test.js: -------------------------------------------------------------------------------- 1 | var inherits = require('./inherits.js') 2 | var assert = require('assert') 3 | 4 | function test(c) { 5 | assert(c.constructor === Child) 6 | assert(c.constructor.super_ === Parent) 7 | assert(Object.getPrototypeOf(c) === Child.prototype) 8 | assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype) 9 | assert(c instanceof Child) 10 | assert(c instanceof Parent) 11 | } 12 | 13 | function Child() { 14 | Parent.call(this) 15 | test(this) 16 | } 17 | 18 | function Parent() {} 19 | 20 | inherits(Child, Parent) 21 | 22 | var c = new Child 23 | test(c) 24 | 25 | console.log('ok') 26 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | module.exports = Array.isArray || function (arr) { 2 | return Object.prototype.toString.call(arr) == '[object Array]'; 3 | }; 4 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/string_decoder/.npmignore: -------------------------------------------------------------------------------- 1 | build 2 | test 3 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/string_decoder/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright Joyent, Inc. and other Node contributors. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a 4 | copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to permit 8 | persons to whom the Software is furnished to do so, subject to the 9 | following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included 12 | in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 | USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/string_decoder/README.md: -------------------------------------------------------------------------------- 1 | **string_decoder.js** (`require('string_decoder')`) from Node.js core 2 | 3 | Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details. 4 | 5 | Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.** 6 | 7 | The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/node_modules/string_decoder/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "string_decoder", 3 | "version": "0.10.25-1", 4 | "description": "The string_decoder module from Node core", 5 | "main": "index.js", 6 | "dependencies": {}, 7 | "devDependencies": { 8 | "tap": "~0.4.8" 9 | }, 10 | "scripts": { 11 | "test": "tap test/simple/*.js" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/rvagg/string_decoder.git" 16 | }, 17 | "homepage": "https://github.com/rvagg/string_decoder", 18 | "keywords": [ 19 | "string", 20 | "decoder", 21 | "browser", 22 | "browserify" 23 | ], 24 | "license": "MIT", 25 | "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.", 26 | "readmeFilename": "README.md", 27 | "bugs": { 28 | "url": "https://github.com/rvagg/string_decoder/issues" 29 | }, 30 | "_id": "string_decoder@0.10.25-1", 31 | "_from": "string_decoder@~0.10.x" 32 | } 33 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_passthrough.js") 2 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/readable.js: -------------------------------------------------------------------------------- 1 | exports = module.exports = require('./lib/_stream_readable.js'); 2 | exports.Stream = require('stream'); 3 | exports.Readable = exports; 4 | exports.Writable = require('./lib/_stream_writable.js'); 5 | exports.Duplex = require('./lib/_stream_duplex.js'); 6 | exports.Transform = require('./lib/_stream_transform.js'); 7 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 8 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_transform.js") 2 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./lib/_stream_writable.js") 2 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/.npmignore: -------------------------------------------------------------------------------- 1 | .travis.yml 2 | test 3 | examples 4 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2014 Andris Reinman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 | SOFTWARE. -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/index.js: -------------------------------------------------------------------------------- 1 | var packageData = require('./package.json'); 2 | 3 | // expose the API to the world 4 | module.exports.createServer = require('./lib/server.js'); 5 | module.exports.createSimpleServer = require('./lib/simpleserver.js'); 6 | module.exports.connect = require('./lib/client.js'); 7 | module.exports.createClientPool = require('./lib/pool.js'); 8 | module.exports.version = packageData.version; -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | examples -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.11" 6 | 7 | notifications: 8 | email: 9 | recipients: 10 | - andris@kreata.ee 11 | on_success: change 12 | on_failure: change 13 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Andris Reinman 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 | SOFTWARE. -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/cert/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICYTCCAcoCCQDl53qKS6iIgDANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJF 3 | RTEOMAwGA1UECBMFSGFyanUxEDAOBgNVBAcTB1RhbGxpbm4xDzANBgNVBAoTBkty 4 | ZWF0YTESMBAGA1UEAxMJbG9jYWxob3N0MR8wHQYJKoZIhvcNAQkBFhBhbmRyaXNA 5 | a3JlYXRhLmVlMB4XDTEzMDMxOTA5NTcxNVoXDTE0MDMxOTA5NTcxNVowdTELMAkG 6 | A1UEBhMCRUUxDjAMBgNVBAgTBUhhcmp1MRAwDgYDVQQHEwdUYWxsaW5uMQ8wDQYD 7 | VQQKEwZLcmVhdGExEjAQBgNVBAMTCWxvY2FsaG9zdDEfMB0GCSqGSIb3DQEJARYQ 8 | YW5kcmlzQGtyZWF0YS5lZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwke9 9 | RYIa5uOTqOSwJHO3lQyT6p9v7g/NI6FckuvqerGThS+irvP4Nd9xuqGjRB2HBEgM 10 | QqSlPqYQ+pI5zcI3V3r1/A9OxSQoR9ar6obKsAfHiWP1u96mpiAZJudYLPud69RR 11 | 1/BoihM6t2FSvwGXO+q38wOLM9tBWgt5Ng68fM0CAwEAATANBgkqhkiG9w0BAQUF 12 | AAOBgQBZJBkf/piXM2Kl725w1ZESlt0m1DbpP55K3ZLLJEQ2IZxQ1wtWChl2duAe 13 | s9Hv5YGm1U44wDbzNXfqqgUIDJVwDzJlq8xtTbfUCJ8HtDKLqH7rGIgDArdtwACZ 14 | bOW7J6ei0ZDhtyDnc9eHB5CT8bgTR1VkMlx3v/bPSCEmTiRJNA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/cert/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXgIBAAKBgQDCR71Fghrm45Oo5LAkc7eVDJPqn2/uD80joVyS6+p6sZOFL6Ku 3 | 8/g133G6oaNEHYcESAxCpKU+phD6kjnNwjdXevX8D07FJChH1qvqhsqwB8eJY/W7 4 | 3qamIBkm51gs+53r1FHX8GiKEzq3YVK/AZc76rfzA4sz20FaC3k2Drx8zQIDAQAB 5 | AoGARhUM4LsLK0ji5iUAqVWY3sp3vUYgYVcP4A+ATnuNzQ6rsXq6i7P0ULK22uUd 6 | +R9Rqii3S38LIOtU6p6+/UtXHLUxnNqGKx/6mSamKhv01UgqN65Laq1pCX40Wjgj 7 | k5R1wdkwQG+DOj+L6mPxnp92Stn+PYPCUqYpK1qLvPu7X2ECQQDvRToiJ0XRLLxa 8 | pz4eAUeN4KJWBJRIT+GZzx27qB3aAr6UT0ccXLmhYBl3AUNYcWyDdAp+ZoX+CQuZ 9 | yEc1Xob1AkEAz904LHgZSMNrKIPhU93Og7fXypY3Smlci5jPQ7rCxzGz0XWUslne 10 | pL8wRtwa8DpTufDj8Ihfw0E8BxUG+yYHeQJBAIL/quFSESaB0KntUNQKrUtfRmHD 11 | 5g9lNMYKIGRCmf1nbUIz2WIM3lEdFTQTi/SbPOcHnEsyBIBeIWzTuzDcDRUCQQDC 12 | 2cKgnOxGszkuP4Hn1hKSkrFsLKgjzuR7z4DrIpUXmNXRUYFUNr5ofPhKVGXEL0jx 13 | Eoj5nzz1kZ8tnF5w61MxAkEAmJYV3PN/V4pTqX/bnNwQWUAQfrDBdkjw2RAAUtbY 14 | MnunBSguCrxmQEKo/zomkZZ/R7/WpJyGZxN90SHa8mZJJA== 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/node_modules/xoauth2/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | lib-cov 4 | *.seed 5 | *.log 6 | *.csv 7 | *.dat 8 | *.out 9 | *.pid 10 | *.gz 11 | 12 | pids 13 | logs 14 | results 15 | 16 | node_modules 17 | npm-debug.log -------------------------------------------------------------------------------- /node_modules/nodemailer/node_modules/simplesmtp/node_modules/xoauth2/test.js: -------------------------------------------------------------------------------- 1 | var xoauth2 = require("./index"), 2 | xoauth2gen; 3 | 4 | xoauth2gen = xoauth2.createXOAuth2Generator({ 5 | user: "user@gmail.com", 6 | clientId: "{Client ID}", 7 | clientSecret: "{Client Secret}", 8 | refreshToken: "{User Refresh Token}", 9 | accessToken: "{User Refresh Token}", 10 | timeout: 3600 11 | }); 12 | 13 | // SMTP/IMAP 14 | xoauth2gen.getToken(function(err, token){ 15 | if(err){ 16 | console.log(123) 17 | return console.log(err); 18 | } 19 | console.log("AUTH XOAUTH2 " + token); 20 | }); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "email-node", 3 | "version": "1.0.1", 4 | "dependencies": { 5 | "nodemailer": "latest", 6 | "express": "latest" 7 | } 8 | } 9 | --------------------------------------------------------------------------------