Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add globalization #329

Merged
merged 1 commit into from
Aug 9, 2016
Merged

Add globalization #329

merged 1 commit into from
Aug 9, 2016

Conversation

deepakrkris
Copy link
Contributor

initial checkin for strong globalization

@@ -331,8 +335,7 @@ RestAdapter.prototype._shouldHandleErrors = function() {
RestAdapter.remoteMethodNotFoundHandler = function(className) {
className = className || '(unknown)';
return function restRemoteMethodNotFound(req, res, next) {
var message = 'Shared class "' + className + '"' +
' has no method handling ' + req.method + ' ' + req.url;
var message = g.f('Shared class %s has no method handling %s %s',className, req.method, req.url);
Copy link

@Setogit Setogit Aug 6, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space char is missing before className
"" were dropped; put them back.

@Setogit
Copy link

Setogit commented Aug 6, 2016

@deepakrkris commented

@Setogit
Copy link

Setogit commented Aug 6, 2016

Fix the 4 lint errors on travis CI:

/home/travis/build/strongloop/strong-remoting/lib/http-context.js
  664:61  error  A space is required after ','  comma-spacing
/home/travis/build/strongloop/strong-remoting/lib/jsonrpc-adapter.js
  90:63  error  Missing trailing comma  comma-dangle
/home/travis/build/strongloop/strong-remoting/lib/rest-adapter.js
  337:1   error  Line 337 exceeds the maximum line length of 90  max-len
  337:69  error  A space is required after ','                   comma-spacing

@@ -622,11 +624,11 @@ HttpContext.prototype.done = function(cb) {
});
// TODO(ritch) support multi-part streams
} else {
cb(new Error('unsupported stream type: ' + returnStreamDesc.type));
cb(new Error(g.f('unsupported stream type: ') + returnStreamDesc.type));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be g.f('unsupported stream type: %s', returnStreamDesc.type)

@@ -7,5 +7,9 @@
* remotes ~ public api
*/

var SG = require('strong-globalize');
SG.SetRootDir(__dirname);
var g = SG();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

var g = SG(); needs to be removed since it is not used in the script

@deepakrkris deepakrkris force-pushed the add_globalize branch 6 times, most recently from ae6fff5 to b2af744 Compare August 9, 2016 17:41
@superkhau
Copy link
Contributor

LGTM

strong-globalize changes for this module
@deepakrkris deepakrkris merged commit 5b3f5bd into master Aug 9, 2016
@deepakrkris deepakrkris deleted the add_globalize branch August 9, 2016 17:57
0candy pushed a commit that referenced this pull request Aug 9, 2016
@0candy 0candy mentioned this pull request Aug 9, 2016
0candy pushed a commit that referenced this pull request Aug 9, 2016
0candy pushed a commit that referenced this pull request Aug 9, 2016
0candy added a commit that referenced this pull request Aug 9, 2016
bajtos added a commit that referenced this pull request Aug 17, 2016
 * Add new API for finding/disabling remote methods (Candy)
 * Remove the usage of deprecated methods (Amir Jafarian)
 * Revert globalization of assert() messages (Miroslav Bajtoš)
 * Backport of #329 (deepakrkris)
Traksewt pushed a commit to agriwebb/strong-remoting that referenced this pull request Mar 15, 2017
relicense as Artistic-2.0 only

update/insert copyright headers

Set to no compression when using change stream

Implement getEndpoints()

* Implement getEndpoints
* Deprecate getHttpMethod
* Deprecate getFullPath

2.27.0

 * Implement getEndpoints() (Amir Jafarian)
 * Set to no compression when using change stream (Candy)
 * update/insert copyright headers (Ryan Graham)
 * relicense as Artistic-2.0 only (Ryan Graham)
 * Handle array of errors. (Richard Pringle)

Add integration tests for coercion in REST

Implement comprehensive test suite describing coercion of input
arguments in the REST adapter.

The test-suite produces test/rest-coercion/report.csv that can be used
to compare results across different strong-remoting versions.

[back-port of strongloop#304]

Fix integration tests for coercion in REST

Address style violations, fix bug discovered by jshint.

Add http source "formData"

Add "formData" as an alias for "form", to make remoting metadata
close to Swagger.

[back-port of 2e4a500 and aa0bda6]

Prioritise auth errors over sharedCtor errors

Return 401 Not Authorized when making an unauthorised request
to a prototype method for a model instance that does not exist.

Potentially breaking change affecting prototype methods:
Hooks registered before "invoke" phase (i.e. "auth" phase and any custom
phases inserted before "invoke") will be called even when the model
instance was not found. The property "ctx.instance" will be undefined
in such case, hook handlers must account for this case.

2.28.0

 * Prioritise auth errors over sharedCtor errors (Miroslav Bajtoš)
 * Add http source "formData" (Fabian Off)
 * Fix integration tests for coercion in REST (Miroslav Bajtoš)
 * Add integration tests for coercion in REST (Miroslav Bajtoš)

2.28.1

Introduce support for integer datatype

There is  single datatype in Javascript for
representing numbers: i.e. `numbers`. This is a
patch to fix strong-remoting#317 - a feature
to support data type: `integer`. Includes
following changes:
- Update `convertValueToTargetType()` &
 `convertToBasicRemotingType()`
- Update `SharedMethod.getType()`
- Make `integer` check strict by-default.
 i.e. If argument and/or returned values are
 decimal or `> MAX_SAFE_INTEGER`, for
 argument: send `400`, for returns: send
 `500`
- Rework `convert` method to ignore all arrays
 except "array of integers"
- Add tests to rest-coercion integration
 tests
- Update test cases for integer data type
- Update shared-method.js to include
 support for Node v.0.10.x

2.29.0

 * Introduce support for integer datatype (gunjpan)

Backport of strongloop#329

Revert globalization of assert() messages

Remove the usage of deprecated methods

Backport from strong-remoting/strongloop#333

Add new API for finding/disabling remote methods

2.30.0

 * Add new API for finding/disabling remote methods (Candy)
 * Remove the usage of deprecated methods (Amir Jafarian)
 * Revert globalization of assert() messages (Miroslav Bajtoš)
 * Backport of strongloop#329 (deepakrkris)

Update dependencies

2.31.0

 * Update dependencies (Miroslav Bajtoš)

Fix tests to use res.get instead of res.headers

The latter is case-sensitive and expects header names in lower-case.

Backport strongloop#345

Add rest-coercion tests for zero-prefixed numbers

Don't convert arg values returned by http function

When an argument provides "http" mapping as a custom function, then
we should not traverse the return value to detect buffers and dates.
The return value could be a complex object, e.g. the full remoting
context, in which case the traversal takes too long (in order of
second!).

Deprecate built-in CORS middleware

Push the responsibility of enabling/configuring CORS back to the
application developer.

Add translation files

Update translation files - round#2

Fix support for hooks returning a Promise

Fix the code to correctly recurse and invoke next hooks after the
promise returned by the first hook callback was resolved.

2.32.0

 * Fix support for hooks returning a Promise (Miroslav Bajtoš)
 * Update translation files - round#2 (Candy)
 * Add translation files (Amir Jafarian)
 * Deprecate built-in CORS middleware (Miroslav Bajtoš)
 * Don't convert arg values returned by http function (Miroslav Bajtoš)
 * Add rest-coercion tests for zero-prefixed numbers (Miroslav Bajtoš)
 * Fix tests to use res.get instead of res.headers (Miroslav Bajtoš)

Update ja translation file

2.32.1

 * Update ja translation file (Candy)

Distinguish between "file" and "File" result types

Fix regression introduced by a85068e where we started to treat "File"
models as the new built-in type "file".

In this commit, the implementation is fixed to recognize only the
following form as the built-in file:

    { type: 'file' }

All other spellings, most notably "File", are treated as custom types
(models) now.

2.32.2

 * Distinguish between "file" and "File" result types (Fabien Franzen)

lockdown dependency for http-auth

Due to a recent release of 2.5.10 which broke node 10/12 support
this commit locks down dependency before 2.5.11 is released
as some registry will still pick up unpublished version (2.5.10)
2.4.11 is released with apache-md5, apache-crypt locked down

See http-auth/http-auth/commit/0097ed6195986942a65e14b38b3f30281c9f6435

Stop changing read-only Number property

Rework the code defining missing ES5/ES6 Number properties to not touch
the existing properties. This is needed to prevent errors like the
following:

    TypeError: Cannot assign to read only property 'MAX_SAFE_INTEGER'
    of function Number() { [native code] }"]

2.32.3

 * lockdown dependency for http-auth (David Cheung)
 * Stop changing read-only Number property (Kogulan Baskaran)

Stringify object query params as JSON [2.x]

Stringify query params which are objects in a way in which empty ararys
and null values are preserved instead of removed
(default querystring implementation).

backport of: strongloop#325

Rest-adapter errorHandler set content-type `json`

the defaultHandler always res.sends an object
therefore make sense to always set response header as such

Release LB2 LTS

Enable remote methods to be disabled by alias

2.33.0

 * Enable remote methods to be disabled by alias (Rémi Bèges)
 * Release LB2 LTS (Simon Ho)
 * Rest-adapter errorHandler set content-type `json` (David Cheung)
 * Stringify object query params as JSON [2.x] (Horia Radu)

Cache getRestMethodByName

This function in RestAdapter is slow due
to creating RestMethods each time.
This can be cached initially, and rechecked
if the entry was not found.

add unit test

updating for review
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants